如何在查询中获取MySQL状态 [英] How to get MySQL status in a query

查看:66
本文介绍了如何在查询中获取MySQL状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在MySQL查询中使用服务器状态变量?

Is it possible to use the server status variables in a MySQL query?

我可以从显示状态"中看到各种指标,但是如何计算派生值(例如查询缓存的命中率)

I can see various metrics from 'show status' but how do I calculate derived values (e.g. the query cache hit ratio)

show global status like 'Qcache_inserts';
show global status like 'Qcache_not_cached';
show global status like 'Qcache_hits';

我如何获得Qcache_hits/(Qcache_hits + Qcache_inserts + Qcache_not_cached)?

Ho do I get Qcache_hits/(Qcache_hits+Qcache_inserts+Qcache_not_cached)?

推荐答案

通常,由于以下选择,您可以访问该信息:

generally you can access that info due this select:

SELECT
   VARIABLE_NAME,
   VARIABLE_VALUE
 FROM
   INFORMATION_SCHEMA.GLOBAL_STATUS

您可以像这样进行所需的计算:

You could make the calculation you want like this:

select (g1.VARIABLE_VALUE / (g1.VARIABLE_VALUE + g2.VARIABLE_VALUE + g3.VARIABLE_VALUE)) as result
FROM INFORMATION_SCHEMA.GLOBAL_STATUS g1
inner join INFORMATION_SCHEMA.GLOBAL_STATUS g2
inner join INFORMATION_SCHEMA.GLOBAL_STATUS g3
where g1.VARIABLE_NAME = 'Qcache_hits'
and g2.VARIABLE_NAME = 'Qcache_inserts'
and g3.VARIABLE_NAME = 'Qcache_not_cached'

这篇关于如何在查询中获取MySQL状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆