求解mysql的com_select状态?
程序员文章站
2022-05-05 22:26:50
...
本帖最后由 u010572351 于 2013-07-16 09:46:51 编辑 刚刚开始学mysql优化,一学到下面这个语句就懵了:
遇到两种说法:
1.说这个和com_update、com_insert、com_delete一样,分别是查询本次会话中增删改查了多少次。
2.还有说不是专门统计select语句执行了多少次的,是统计mysql执行各种查询操作的次数(频率),比如登陆mysql 输入密码,mysql就会查询管理员密码是否正确,这次查询也计算到com_select。
但是,我select语句查询一次,发现com_select并没有增加,use database 一下,com_select增加了一个。
我现在都不知道,究竟什么操作是com_select统计的对象?
show session status like 'com_select';
遇到两种说法:
1.说这个和com_update、com_insert、com_delete一样,分别是查询本次会话中增删改查了多少次。
2.还有说不是专门统计select语句执行了多少次的,是统计mysql执行各种查询操作的次数(频率),比如登陆mysql 输入密码,mysql就会查询管理员密码是否正确,这次查询也计算到com_select。
但是,我select语句查询一次,发现com_select并没有增加,use database 一下,com_select增加了一个。
我现在都不知道,究竟什么操作是com_select统计的对象?
回复讨论(解决方案)
没有人知道吗
手册上说
Com_select的值等价于:
Qcache_inserts
+ Qcache_not_cached
+ queries with errors found during columns/rights check
自己慢慢研读吧
手册上说
Com_select的值等价于:
Qcache_inserts
+ Qcache_not_cached
+ queries with errors found during columns/rights check
自己慢慢研读吧
强大的版主来了,能谈谈你自己的理解吗?
人呢。。。。。。。。。
自己翻译翻译不久完了?
简单说就是:
com_select 变量记录的是无缓存的查询次数+错误查询+权限检查查询。
你之所以查询第二次com_select的值没有增加,是因为查询结果是有缓存的,如果命中缓存,缓存命中的次数加1,也就是Qcache_hits变量的值加1.
自己翻译翻译不久完了?
简单说就是:
com_select 变量记录的是无缓存的查询次数+错误查询+权限检查查询。
你之所以查询第二次com_select的值没有增加,是因为查询结果是有缓存的,如果命中缓存,缓存命中的次数加1,也就是Qcache_hits变量的值加1.
哦,那com_select 和com_insert、com_uopdate、com_delete(dml)这些还不是一个意义上的东西哦,
com_select不是单纯的dql统计哦