如何在查询中获取MySQL状态 [英] How to get MySQL status in a query
本文介绍了如何在查询中获取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屋!
查看全文