SET @dbname = 'ddldb';
SELECT
"1.too many logical read SQL examined_rows >20000 " AS
'----------------------------------------------'
FROM
DUAL;
SELECT
SCHEMA_NAME,
DIGEST AS digest,
DIGEST_TEXT,
COUNT_STAR,
AVG_TIMER_WAIT,
ROUND( SUM_ROWS_AFFECTED / COUNT_STAR, 0 ) AS rows_affected_avg,
ROUND( SUM_ROWS_SENT / COUNT_STAR, 0 ) AS rows_sent_avg,
ROUND( SUM_ROWS_EXAMINED / COUNT_STAR, 0 ) AS rows_examined_avg,
FIRST_SEEN,
LAST_SEEN
FROM
PERFORMANCE_SCHEMA.events_statements_summary_by_digest
WHERE
DIGEST_TEXT NOT LIKE '%SHOW%'
AND DIGEST_TEXT NOT LIKE 'desc%'
AND SCHEMA_NAME = @dbname
AND ROUND( SUM_ROWS_EXAMINED / COUNT_STAR, 0 ) > 20000
AND COUNT_STAR > 200
AND last_seen > date_sub( curdate(), INTERVAL 10 DAY )
ORDER BY
ROUND( SUM_ROWS_EXAMINED / COUNT_STAR, 0 ) DESC;
SELECT
"2.large transaction SQL,effected_rows >100000 " AS
'----------------------------------------------'
FROM
DUAL;
SELECT
SCHEMA_NAME,
DIGEST AS digest,
DIGEST_TEXT,
COUNT_STAR,
AVG_TIMER_WAIT,
ROUND( SUM_ROWS_AFFECTED / COUNT_STAR, 0 ) AS rows_affected_avg,
ROUND( SUM_ROWS_SENT / COUNT_STAR, 0 ) AS rows_sent_avg,
ROUND( SUM_ROWS_EXAMINED / COUNT_STAR, 0 ) AS rows_examined_avg,
FIRST_SEEN,
LAST_SEEN
FROM
PERFORMANCE_SCHEMA.events_statements_summary_by_digest
WHERE
DIGEST_TEXT NOT LIKE '%SHOW%'
AND DIGEST_TEXT NOT LIKE 'desc%' -- and SCHEMA_NAME is not null
-- and SCHEMA_NAME not in
('information_schema','mysql','performance_schema','sys')
AND SCHEMA_NAME = @dbname
AND ROUND( SUM_ROWS_AFFECTED / COUNT_STAR, 0 ) > 100000
AND COUNT_STAR > 200
AND last_seen > date_sub( curdate(), INTERVAL 10 DAY )
ORDER BY
ROUND( SUM_ROWS_AFFECTED / COUNT_STAR, 0 ) DESC;
SELECT
"3.select SQL return too many rows :split pages, sent_rows >1000 " AS
'----------------------------------------------'
FROM
DUAL;
SELECT
相关文档
评论