北京SEO

mysql优化之show status查看MySQL服务器状态信息

2019/10/10/17:37:06  阅读:2142  来源:谷歌SEO算法  标签: SEO培训

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

在MySQL中,我们可以使用SHOW STATUS指令语句来查看MySQL服务器的状态信息,下面,我们以DOS命令窗口的形式连接MySQL,并执行show status;指令,执行show status指令显示的部分结果.

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

--查询当前MySQL本次启动后的运行统计时间,代码如下:

show status like 'uptime';

此时,我们就可以看到如下结果:

  1. +---------------+-------+
  2. |Variable_name|Value|
  3. +---------------+-------+
  4. |Uptime|5667|
  5. +---------------+-------+
  6. 1rowinset(0.00sec)

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

show status like 'com_select';

对应输出结果如下:

  1. +---------------+-------+
  2. |Variable_name|Value|
  3. +---------------+-------+
  4. |Com_select|1|
  5. +---------------+-------+ //phpfensi.com
  6. 1rowinset(0.00sec)

此外,与WHERE子句中的LIKE关键字类似,show status后的LIKE关键字也可以使用’_’或’%'等通配符来进行模糊匹配,例如我们可以执行如下语句来查看MySQL服务器的线程信息,代码如下:

show status like 'Thread_%';

对应输出结果如下:

  1. +-------------------+-------+
  2. |Variable_name|Value|
  3. +-------------------+-------+
  4. |Threads_cached|0|
  5. |Threads_connected|1|
  6. |Threads_created|1|
  7. |Threads_running|1|
  8. +-------------------+-------+
  9. 4rowsinset(0.00sec)

值得注意的是,在上述show status like 'com_select'指令的执行示例中,显示的SELECT语句统计信息仅仅表示当前会话连接执行的SELECT语句数量,因为,show status指令的完整语法如下:

SHOW [统计范围] STATUS [LIKE '状态项名称']

--统计范围关键字分为GLOBAL和SESSION(或LOCAL)两种.

在show status的完整语法中,”[]“中的部分是可选的,如果我们的show status语句中不包含统计范围关键字,则默认统计范围为SESSION,也就是只统计当前连接的状态信息,如果我们需要查询自当前MySQL启动后所有连接执行的SELECT语句总数,我们可以执行如下语句:

show global status like 'com_select';

以上即是show status的详细用法,由于show status的状态统计项较多,我们就不再一一解释每个统计项的具体含义,在这里,我们仅列出部分常用的状态信息查看语句:

--查看MySQL本次启动后的运行时间(单位:秒)

show status like 'uptime';

--查看select语句的执行数

show [global] status like 'com_select';

--查看insert语句的执行数

show [global] status like 'com_insert';

--查看update语句的执行数

show [global] status like 'com_update';

--查看delete语句的执行数

show [global] status like 'com_delete';

--查看试图连接到MySQL(不管是否连接成功)的连接数

show status like 'connections';

--查看线程缓存内的线程的数量。

show status like 'threads_cached';

--查看当前打开的连接的数量。

show status like 'threads_connected';

--查看当前打开的连接的数量。

show status like 'threads_connected';

--查看创建用来处理连接的线程数。如果Threads_created较大,你可能要增加thread_cache_size值。

show status like 'threads_created';

--查看激活的(非睡眠状态)线程数。

show status like 'threads_running';

--查看立即获得的表的锁的次数。

show status like 'table_locks_immediate';

--查看不能立即获得的表的锁的次数。如果该值较高,并且有性能问题,你应首先优化查询,然后拆分表或使用复制。

show status like 'table_locks_waited';

--查看创建时间超过slow_launch_time秒的线程数。

show status like 'slow_launch_threads';

--查看查询时间超过long_query_time秒的查询的个数。

show status like 'slow_queries';

上面只是对服务器的优化当然我们还可以优化sql查询语句了.

广告内容

mysql优化之show status查看MySQL服务器状态信息 mysql优化之show status查看MySQL服务器状态信息 mysql优化之show status查看MySQL服务器状态信息

相关阅读

热门评论

SEO探索者团队 SEO探索者团队

SEO服务&网站优化

总篇数182

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法