Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在查询中获取MySQL状态_Mysql_Database - Fatal编程技术网

如何在查询中获取MySQL状态

如何在查询中获取MySQL状态,mysql,database,Mysql,Database,可以在MySQL查询中使用服务器状态变量吗 我可以从“显示状态”中看到各种指标,但如何计算派生值(例如查询缓存命中率) 我如何获得Qcache\u点击率/(Qcache\u点击率+Qcache\u插入率+Qcache\u未缓存)?通常,您可以通过以下选择访问该信息: SELECT VARIABLE_NAME, VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS 您可以按如下方式进行计算: select (g1.VARIA

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

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


我如何获得Qcache\u点击率/(Qcache\u点击率+Qcache\u插入率+Qcache\u未缓存)?

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

SELECT
   VARIABLE_NAME,
   VARIABLE_VALUE
 FROM
   INFORMATION_SCHEMA.GLOBAL_STATUS
您可以按如下方式进行计算:

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'
是的,你可以。使用“从全局_状态中选择变量_值”而不是“显示状态”,并像任何其他表一样继续

此表位于
信息\u架构
数据库中

查询示例:

SELECT VARIABLE_VALUE FROM GLOBAL_STATUS WHERE VARIABLE_NAME="Qcache_inserts"

希望这有帮助

该死!“添加到5.1.12中”,我得到了5.0:(因为5.7版信息模式已被性能模式取代,这个答案可以很容易地适应5.7。你是对的。非常好。请随意编辑我的答案。你有2k代表来做。
SELECT VARIABLE_VALUE FROM GLOBAL_STATUS WHERE VARIABLE_NAME="Qcache_inserts"