文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用show status分析MySQL的query

用show status分析MySQL的query

时间:2006-12-11  来源:gladness

又看了一篇非常不错的文章:
http://www.xaprb.com/blog/2006/10/12/how-to-profile-a-query-in-mysql/

show status有非常多的项目,但下面的几项与query最相关的:
  • Bytes_received
  • Bytes_sent
  • Created_tmp_disk_tables
  • Created_tmp_files
  • Created_tmp_tables
  • Handler_
  • Innodb_
  • Key_read_requests
  • Key_reads
  • Key_write_requests
  • Key_writes
  • Last_query_cost
  • Select_
  • Sort_
  • Table_locks_immediate
  • Table_locks_waited
MySQL每次从一个索引中记取第一行时,handler_read_first就会加1;这通常是表明在做一些诸如索引扫描或者一个MIN()查询等等。通常情况下,应该让handler_read尽可能地低。

key_read和key_write给出了一些额外的关于key的使用的信息。

last_query_cost是查询优化器判断出的上次查询的开销(成本)。

select_计数器为不同的select分别计数。可以用这些计数器去判断,是否有全表扫描(select_scan),扫描了索引的一个范围的join,等等。这些变量不是针对每行记录的统计。如果你写了一个查询很多记录的全表扫描,handler_read_next或者handler_read_rnd_next会增加很多,但是select_scan只增加1。

sort_merge_passes与merge-sort运算相关,可能一个查询中增加多次。sort_range和sort_scan每个查询中增加一次,如果通过一个range或者scan进行了排序。

table_locks_表示已经获取了多少个表锁,以及这些表锁有多少没有进行等待就立刻得到了。(table_locks_immedate和table_locks_waited)

需要注意的是,在MySQL5.0.2以后,show status相当于show session status,看会话级的统计。其中有的变量只有全局的统计,show session status看到的则是全局的统计。show global status是只看全局的统计。
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载