首页 > 【转】mysql-status和variables区别

【转】mysql-status和variables区别

转:http://www.2cto.com/database/201304/204320.html
mysql之status和variables区别
首先可以通过下属两个命令来查看mysql的相应的系统参数
show status like '%abc%';
show variables like '%abc%';
但是很多人不明白二者到底有什么区别
status是状态是系统的状态不可更改,是系统现在的运行状态参数,说明如下:
Java代码  
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等等。
Java代码  
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或者修改配置文件来修改的。

转载于:https://www.cnblogs.com/dba-fcl/p/3939024.html

更多相关:

  • 一、SQL执行过程   1、用户连接数据库,执行SQL语句;   2、先在内存进行内存读,找到了所需数据就直接交给用户工作空间;   3、内存读失败,也就说在内存中没找到支持SQL所需数据,就进行物理读,也就是到磁盘中查找;   4、找到的数据放到内存中,在内存进行数据过滤再放到会话工作空间。   5、假设会话工作空间需要暂存结果集进...

  • IQueryable query = from x in appEntitieswhere x.id = 10select x;var sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString(); 或者 EF6 : var sql = ((System.Data....