欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求解mysql的com_select状态?

程序员文章站 2022-05-05 22:26:50
...
本帖最后由 u010572351 于 2013-07-16 09:46:51 编辑 刚刚开始学mysql优化,一学到下面这个语句就懵了:
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统计哦