«

mysql优化之status和variables区别

时间:2024-2-6 18:11     作者:韩俊     分类: Mysql


mysql之status和variables区别
 
首先可以通过下属两个命令来查看mysql的相应的系统参数

show status like '%abc%';

show variables like '%abc%';
 
但是很多人不明白二者到底有什么区别

status是状态是系统的状态不可更改,是系统现在的运行状态参数,说明如下:

mysql> show status like 'innodb_rows_%';

+----------------------+---------+ 
| Variable_name        | Value   | 
+----------------------+---------+ 
| Innodb_rows_deleted  | 0       | 
| Innodb_rows_inserted | 1169098 | 
| Innodb_rows_read     | 7955216 | 
| Innodb_rows_updated  | 0       | 
+----------------------+---------+ 

4 rows in set (0.00 sec) 

 一条条说明如下:
 
| Innodb_rows_deleted|0                  |  为innodb表删除的行数,此处为0标示没有删除过

| Innodb_rows_inserted | 1169098 | 为innodb表insert的行数,此处标示现在insert了1169098 行

| Innodb_rows_read     | 7955216    | 为innodb表执行select获取的行数

| Innodb_rows_updated  | 0              | 为innodb表执行update涉及到的行数

上述4个是innodb表的运行状态参数,不能人为修改,只能系统去update,用途很显然是为了告诉dba现在系统的状态,好让dba去做优化,上述4个记录告诉dba此时读大于写(我在执行insert into a select * from a,故出上述数据),可以考虑建立适当索引,如果读是0,写很大,那么可以考虑删除index等等。

mysql> show variables like 'query%';

+------------------------------+----------+ 
| Variable_name                | Value    | 
+------------------------------+----------+ 
| query_alloc_block_size       | 8192     | 
| query_cache_limit            | 1048576  | 
| query_cache_min_res_unit     | 4096     | 
| query_cache_size             | 16777216 | 
| query_cache_type             | ON       | 
| query_cache_wlock_invalidate | OFF      | 
| query_prealloc_size          | 8192     | 
+------------------------------+----------+ 

7 rows in set (0.00 sec) 

上述标示查看查询缓存的相关信息,此时可以根据status做适当的优化此处注意是系统管用cache的相关配置信息,是可以通过set或者修改配置文件来修改的。

标签: mysql

热门推荐