【问题标题】:MySQL 8 Select Statement to get 'Last_query_cost'MySQL 8 选择语句以获取“Last_query_cost”
【发布时间】:2020-02-23 03:50:59
【问题描述】:

有一个 MySQL CLI 命令

SHOW STATUS LIKE 'Last_query_cost';

但是如何使用普通的 SELECT Query 获取该信息?

是否有任何类型的转义/包装 MySQL CLI 命令以便可以在纯 SELECT 语句中使用?

也许有一个架构,我可以使用 SELECT 查询以获得SHOW STATUS LIKE 'Last_query_cost'; 命令提供的信息?

【问题讨论】:

    标签: mysql performance select command-line-interface


    【解决方案1】:

    在 mysql v5.7 及更早版本中,所有全局变量和会话变量都存储在 INFORMATION_SCHEMA GLOBAL_STATUSSESSION_STATUS 表中。

    正如mysql manual 所说:

    GLOBAL_STATUS 和 SESSION_STATUS 表提供有关服务器状态变量的信息。它们的内容对应于 SHOW GLOBAL STATUS 和 SHOW SESSION STATUS 语句产生的信息。

    在 mysql v8 中,这些表被移动到 performance 架构,请参阅 mysql manual

    【讨论】:

    • 我很高兴指出 MySQL 5.7 和 MySQL 8.x 之间的区别
    【解决方案2】:

    使用接受的答案中提供的信息,SELECT 查询以获取Last_query_cost (MySQL8):

    SELECT `variable_value` 
    FROM `performance_schema`.`session_status` 
    WHERE `variable_name` = 'Last_query_cost';
    

    【讨论】:

      猜你喜欢
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多