1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| DROP TABLE IF EXISTS dba.events_statements_summary_by_digest1; DROP TABLE IF EXISTS dba.events_statements_summary_by_digest2; CREATE TABLE `dba`.`events_statements_summary_by_digest1` ( `schema_name` VARCHAR(64) NOT NULL, `digest` VARCHAR(32) NOT NULL, `digest_text` LONGTEXT, `count_star` BIGINT(20) SIGNED NOT NULL, `sum_timer_wait` BIGINT(20) SIGNED NOT NULL, `avg_timer_wait` BIGINT(20) SIGNED NOT NULL, `sum_lock_time` BIGINT(20) SIGNED NOT NULL, `sum_rows_affected` BIGINT(20) SIGNED NOT NULL, `sum_rows_sent` BIGINT(20) SIGNED NOT NULL, `sum_rows_examined` BIGINT(20) SIGNED NOT NULL, `statime` DATETIME NOT NULL, `first_seen` DATETIME NOT NULL, `last_seen` DATETIME NOT NULL, PRIMARY KEY (schema_name,`digest`, first_seen) ); CREATE TABLE `dba`.`events_statements_summary_by_digest2` ( `schema_name` VARCHAR(64) NOT NULL, `digest` VARCHAR(32) NOT NULL, `digest_text` LONGTEXT, `count_star` BIGINT(20) SIGNED NOT NULL, `sum_timer_wait` BIGINT(20) SIGNED NOT NULL, `avg_timer_wait` BIGINT(20) SIGNED NOT NULL, `sum_lock_time` BIGINT(20) SIGNED NOT NULL, `sum_rows_affected` BIGINT(20) SIGNED NOT NULL, `sum_rows_sent` BIGINT(20) SIGNED NOT NULL, `sum_rows_examined` BIGINT(20) SIGNED NOT NULL, `statime` DATETIME NOT NULL, `first_seen` DATETIME NOT NULL, `last_seen` DATETIME NOT NULL, PRIMARY KEY (schema_name,`digest`, first_seen) ); INSERT INTO dba.events_statements_summary_by_digest1 SELECT IFNULL(schema_name,''),digest,digest_text,count_star,sum_timer_wait,avg_timer_wait,sum_lock_time,sum_rows_affected,sum_rows_sent,sum_rows_examined,NOW() AS statime,first_seen,last_seen FROM performance_schema.events_statements_summary_by_digest WHERE digest IS NOT NULL; SELECT SLEEP (10); INSERT INTO dba.events_statements_summary_by_digest2 SELECT IFNULL(schema_name,''),digest,digest_text,count_star,sum_timer_wait,avg_timer_wait,sum_lock_time,sum_rows_affected,sum_rows_sent,sum_rows_examined,NOW() AS statime,first_seen,last_seen FROM performance_schema.events_statements_summary_by_digest WHERE digest IS NOT NULL; SELECT a.schema_name,a.digest,a.digest_text, b.count_star - a.count_star AS exec_count, (b.count_star - a.count_star)/TIME_TO_SEC(TIMEDIFF(b.statime,a.statime)) AS QPS, (b.sum_timer_wait - a.sum_timer_wait)/POWER(10,12) AS waited_s, b.avg_timer_wait/POWER(10,12) AS avg_waited_s, (b.sum_lock_time - a.sum_lock_time)/POWER(10,12) AS locked_s, b.sum_rows_affected - a.sum_rows_affected AS rows_affected, b.sum_rows_sent - a.sum_rows_sent AS rows_sent, b.sum_rows_examined - a.sum_rows_examined AS rows_examined, TIME_TO_SEC(TIMEDIFF(b.statime,a.statime)) AS delta_secs, b.first_seen,b.last_seen ,b.sum_lock_time, a.sum_lock_time FROM dba.events_statements_summary_by_digest1 a ,dba.events_statements_summary_by_digest2 b WHERE a.digest = b.digest AND a.schema_name = b.schema_name AND b.count_star <> a.count_star AND a.first_seen = b.first_seen ORDER BY (b.count_star - a.count_star) DESC; DROP TABLE IF EXISTS dba.events_statements_summary_by_digest1; DROP TABLE IF EXISTS dba.events_statements_summary_by_digest2;
|