MST

星途 面试题库

面试题:MySQL中如何通过SHOW语句结合performance库查询最近执行的10条慢查询语句

在MySQL中,已知performance_schema库存储了数据库运行时的各种性能数据。请描述如何使用SHOW语句并结合performance_schema库,查询出最近执行的10条慢查询语句(假设慢查询定义为执行时间超过1秒),并说明涉及到的表结构和关键字段。
15.2万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试
  1. 查询语句
SELECT 
    event_name, 
    sql_text, 
    timer_wait 
FROM 
    performance_schema.events_statements_history_long 
WHERE 
    timer_wait > 1000000000  -- 1秒对应的皮秒数,1秒 = 10^12 皮秒
ORDER BY 
    timer_start DESC 
LIMIT 10;
  1. 涉及表结构和关键字段
    • events_statements_history_long,这个表存储了最近执行的语句历史记录(包括慢查询)。
    • 关键字段
      • event_name:表示事件的名称,在这个场景下即SQL语句对应的事件。
      • sql_text:存储具体的SQL语句文本。
      • timer_wait:表示语句执行所花费的时间,单位是皮秒。通过这个字段筛选出执行时间超过1秒(1000000000皮秒)的慢查询。
      • timer_start:表示事件开始的时间,通过它可以按照执行时间从新到旧排序。