第十章:第29节 MySQL进阶篇——status介绍

更新于:2017-09-19 15:15:30

MySQL除了系统变量,还有一种变量叫做状态变量——status。


执行“show status;”


1.png


共有312个状态变量。


系统变量主要是给MySQL做配置的,可以由人为修改。状态变量是反应MySQL当前运行的各种状态值,只能由MySQL系统修改,人为不能修改。


我们在对MySQL做优化时,免不了要查看各种状态值。


在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SELECT语句、执行了多少UPDATE/DELETE/INSERT语句等统计信息,从而便于我们根据当前MySQL服务器的运行状态进行对应的调整或优化工作。


当我们执行show status语句时,MySQL将会列出多达300多条的状态信息记录,其中包括了供我们查看了解的各种信息。不过,如果直接使用show status指令得到300多条记录,会让我们看得眼花缭乱,因此我们希望能够「按需查看」一部分状态信息。这个时候,我们可以在show status语句后加上对应的like子句。例如,我们想要查看当前MySQL启动后的运行时间,我们可以执行如下语句:


show status like 'uptime';

1.png


同样的,如果我们要本次MySQL启动后执行的SELECT语句的次数,我们可以执行如下语句:

show status like 'com_select';

1.png


同样的,like子句与select中的like子句是一样的用法,不多做解释了。


状态变量也和系统变量一样,分为全局状态变量和会话状态变量:


800.jpg


备注:flush status 清空当前session的统计,但对global的无影响。做统计或优化时有用。


更多status解释》》》