是否可以编写一个只返回MySQL的SHOW STATUS返回的变量值的查询?理想情况下,我想要的东西:
SELECT `Value` FROM (SHOW STATUS LIKE 'Com_delete')
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
这可能吗?
Ike*_*ker 18
如果您使用的是MySQL 5.1或更高版本,您应该能够从INFORMATION_SCHEMA这样的全局状态获取数据:
select VARIABLE_VALUE
from information_schema.GLOBAL_STATUS
where VARIABLE_NAME = 'Com_delete';
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要会话状态:
select VARIABLE_VALUE
from information_schema.SESSION_STATUS
where VARIABLE_NAME = 'Com_delete';
Run Code Online (Sandbox Code Playgroud)
默认状态SHOW STATUS为SESSIONstatus,因此后一个查询可以替代它.
补充 Ike Walker 的回答,INFORMATION_SCHEMA 在 MySQL 5.7.6 上已被弃用,因为 Performance Schema 表旨在替换 INFORMATION_SCHEMA 表。
因此,通过查询 INFORMATION_SCHEMA 您可能会收到如下错误:
'INFORMATION_SCHEMA.SESSION_STATUS' 功能被禁用;请参阅“show_compatibility_56”的文档
根据此,您可以设置show_compatibility_56以ON启用向后兼容性,并继续使用5.6语法,或启用PERFORMANCE_SCHEMA和查询新表:
performance_schema.global_variables
performance_schema.session_variables
performance_schema.global_status
performance_schema.session_status
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5976 次 |
| 最近记录: |