如何查看sys.statement\u analysis的mysql 5.7的所有查询内容

如何查看sys.statement\u analysis的mysql 5.7的所有查询内容,mysql,Mysql,我在Sequel Pro中使用此查询检查sys.statement_分析表的查询sql,但有些内容无法完全显示: select query from sys.statement_analysis order by exec_count desc limit 40; 如何查看查询的全部内容(长文本数据类型) 我知道这是个老问题,但我刚刚找到了答案 “语句分析”是一个视图,因此您可以使用“show create view sys.statement\u analysis”来获取“create

我在Sequel Pro中使用此查询检查sys.statement_分析表的查询sql,但有些内容无法完全显示:

select query
from sys.statement_analysis 
order by exec_count 
desc limit 40;
如何查看查询的全部内容(长文本数据类型)


我知道这是个老问题,但我刚刚找到了答案

“语句分析”是一个视图,因此您可以使用“
show create view sys.statement\u analysis
”来获取“create view”查询

“创建视图”以“sys.format_statement”命令开始。将其从查询中删除,将得到如下查询:

    SELECT 
    `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,
    `performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,
    IF(((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0)
            OR (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0)),
        '*',
        '') AS `full_scan`,
    `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `err_count`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warn_count`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`MAX_TIMER_WAIT`) AS `max_latency`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT`) AS `avg_latency`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`SUM_LOCK_TIME`) AS `lock_latency`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,
    ROUND(IFNULL((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / NULLIF(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,
                            0)),
                    0),
            0) AS `rows_sent_avg`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,
    ROUND(IFNULL((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / NULLIF(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,
                            0)),
                    0),
            0) AS `rows_examined_avg`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` AS `rows_affected`,
    ROUND(IFNULL((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` / NULLIF(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,
                            0)),
                    0),
            0) AS `rows_affected_avg`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `tmp_tables`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,
    `performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest`,
    `performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,
    `performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`
FROM
    `performance_schema`.`events_statements_summary_by_digest`
ORDER BY `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` DESC;

现在您可以运行此查询并获得完整的sql语句。

我知道这是一个老问题,但我刚刚找到了答案

“语句分析”是一个视图,因此您可以使用“
show create view sys.statement\u analysis
”来获取“create view”查询

“创建视图”以“sys.format_statement”命令开始。将其从查询中删除,将得到如下查询:

    SELECT 
    `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,
    `performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,
    IF(((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0)
            OR (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0)),
        '*',
        '') AS `full_scan`,
    `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `err_count`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warn_count`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`MAX_TIMER_WAIT`) AS `max_latency`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT`) AS `avg_latency`,
    FORMAT_PICO_TIME(`performance_schema`.`events_statements_summary_by_digest`.`SUM_LOCK_TIME`) AS `lock_latency`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,
    ROUND(IFNULL((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / NULLIF(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,
                            0)),
                    0),
            0) AS `rows_sent_avg`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,
    ROUND(IFNULL((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / NULLIF(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,
                            0)),
                    0),
            0) AS `rows_examined_avg`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` AS `rows_affected`,
    ROUND(IFNULL((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` / NULLIF(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,
                            0)),
                    0),
            0) AS `rows_affected_avg`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `tmp_tables`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,
    `performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,
    `performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest`,
    `performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,
    `performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`
FROM
    `performance_schema`.`events_statements_summary_by_digest`
ORDER BY `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` DESC;

现在,您可以运行此查询并获得完整的sql语句。

您的ide是什么?Sequel Pro@p.salmon您的ide是什么?Sequel Pro@p.salman另一种不太“黑客”的方法是使用查询
select*from performance\u schema.events\u statements\u summary\u by\u digest其中digest=
。只需使用要分析的查询的“摘要”列中的哈希。另一种不太“黑”的方法是使用查询
select*from performance\u schema.events\u statements\u summary\u by\u digest,其中digest=
。只需使用要分析的查询的“摘要”列中的哈希。