Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit 2122cd3

Browse files
committed
* Change all *_raw views to x$ views - this gives the benefit that all command line formatted views are ordered together, whilst raw / tool views sort last.
* Make sure all characterstics clauses are correct for the views * Add some further user level summaries * Many other small fixes along the way
1 parent 8e43003 commit 2122cd3

40 files changed

+3115
-814
lines changed

README.md

Lines changed: 1008 additions & 0 deletions
Large diffs are not rendered by default.

sys_56.sql

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ SOURCE ./views/i_s/innodb_buffer_stats_by_schema.sql
4949
SOURCE ./views/i_s/innodb_buffer_stats_by_table.sql
5050
SOURCE ./views/i_s/schema_object_overview.sql
5151

52-
SOURCE ./views/p_s/check_lost_instrumentation.sql
52+
SOURCE ./views/p_s/ps_check_lost_instrumentation.sql
5353
SOURCE ./views/p_s/processlist.sql
5454

5555
SOURCE ./views/p_s/latest_file_io.sql
@@ -72,9 +72,12 @@ SOURCE ./views/p_s/statements_with_runtimes_in_95th_percentile.sql
7272
SOURCE ./views/p_s/statements_with_sorting.sql
7373
SOURCE ./views/p_s/statements_with_temp_tables.sql
7474

75-
SOURCE ./views/p_s/user_summary.sql
75+
SOURCE ./views/p_s/user_summary_by_file_io_type.sql
76+
SOURCE ./views/p_s/user_summary_by_file_io.sql
7677
SOURCE ./views/p_s/user_summary_by_statement_type.sql
78+
SOURCE ./views/p_s/user_summary_by_statement_latency.sql
7779
SOURCE ./views/p_s/user_summary_by_stages.sql
80+
SOURCE ./views/p_s/user_summary.sql
7881

7982
SOURCE ./views/p_s/wait_classes_global_by_avg_latency.sql
8083
SOURCE ./views/p_s/wait_classes_global_by_latency.sql

sys_57.sql

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ SOURCE ./views/i_s/innodb_buffer_stats_by_schema.sql
4949
SOURCE ./views/i_s/innodb_buffer_stats_by_table.sql
5050
SOURCE ./views/i_s/schema_object_overview.sql
5151

52-
SOURCE ./views/p_s/check_lost_instrumentation.sql
52+
SOURCE ./views/p_s/ps_check_lost_instrumentation.sql
5353
SOURCE ./views/p_s/processlist_57.sql
5454

5555
SOURCE ./views/p_s/latest_file_io.sql
@@ -76,9 +76,12 @@ SOURCE ./views/p_s/statements_with_runtimes_in_95th_percentile.sql
7676
SOURCE ./views/p_s/statements_with_sorting.sql
7777
SOURCE ./views/p_s/statements_with_temp_tables.sql
7878

79-
SOURCE ./views/p_s/user_summary_57.sql
79+
SOURCE ./views/p_s/user_summary_by_file_io_type.sql
80+
SOURCE ./views/p_s/user_summary_by_file_io.sql
8081
SOURCE ./views/p_s/user_summary_by_statement_type.sql
82+
SOURCE ./views/p_s/user_summary_by_statement_latency.sql
8183
SOURCE ./views/p_s/user_summary_by_stages.sql
84+
SOURCE ./views/p_s/user_summary_57.sql
8285

8386
SOURCE ./views/p_s/wait_classes_global_by_avg_latency.sql
8487
SOURCE ./views/p_s/wait_classes_global_by_latency.sql

views/i_s/innodb_buffer_stats_by_schema.sql

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,39 @@
1111
1212
You should have received a copy of the GNU General Public License
1313
along with this program; if not, write to the Free Software
14-
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
14+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515

1616
/*
1717
* View: innodb_buffer_stats_by_schema
1818
*
1919
* Summarizes the output of the INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
2020
* table, aggregating by schema
2121
*
22-
* mysql> SELECT * FROM innodb_buffer_stats_by_schema;
23-
* +---------------+------------+------------+-------+--------------+-----------+-------------+
24-
* | object_schema | allocated | data | pages | pages_hashed | pages_old | rows_cached |
25-
* +---------------+------------+------------+-------+--------------+-----------+-------------+
26-
* | common_schema | 1.06 MiB | 529.29 KiB | 68 | 68 | 68 | 697 |
27-
* | InnoDB System | 144.00 KiB | 15.67 KiB | 9 | 9 | 9 | 43 |
28-
* | mysql | 80.00 KiB | 9.01 KiB | 5 | 5 | 5 | 83 |
29-
* +---------------+------------+------------+-------+--------------+-----------+-------------+
30-
* 3 rows in set (0.08 sec)
22+
*
23+
* mysql> select * from innodb_buffer_stats_by_schema;
24+
* +--------------------------+------------+------------+-------+--------------+-----------+-------------+
25+
* | object_schema | allocated | data | pages | pages_hashed | pages_old | rows_cached |
26+
* +--------------------------+------------+------------+-------+--------------+-----------+-------------+
27+
* | mem30_trunk__instruments | 1.69 MiB | 510.03 KiB | 108 | 108 | 108 | 3885 |
28+
* | InnoDB System | 688.00 KiB | 351.62 KiB | 43 | 43 | 43 | 862 |
29+
* | mem30_trunk__events | 80.00 KiB | 21.61 KiB | 5 | 5 | 5 | 229 |
30+
* +--------------------------+------------+------------+-------+--------------+-----------+-------------+
3131
*
32-
* Versions: 5.5.28+
3332
*/
3433

35-
/*!50528 DROP VIEW IF EXISTS innodb_buffer_stats_by_schema */;
36-
37-
/*!50528
38-
CREATE SQL SECURITY INVOKER VIEW innodb_buffer_stats_by_schema AS
34+
CREATE OR REPLACE
35+
ALGORITHM = TEMPTABLE
36+
DEFINER = 'root'@'localhost'
37+
SQL SECURITY INVOKER
38+
VIEW innodb_buffer_stats_by_schema (
39+
object_schema,
40+
allocated,
41+
data,
42+
pages,
43+
pages_hashed,
44+
pages_old,
45+
rows_cached
46+
) AS
3947
SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema,
4048
sys.format_bytes(SUM(IF(ibp.compressed_size = 0, 16384, compressed_size))) AS allocated,
4149
sys.format_bytes(SUM(ibp.data_size)) AS data,
@@ -46,31 +54,38 @@ SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_IN
4654
FROM information_schema.innodb_buffer_page ibp
4755
WHERE table_name IS NOT NULL
4856
GROUP BY object_schema
49-
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC */;
57+
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC;
5058

5159
/*
52-
* View: innodb_buffer_stats_by_schema_raw
60+
* View: x$innodb_buffer_stats_by_schema
5361
*
5462
* Summarizes the output of the INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
5563
* table, aggregating by schema
5664
*
57-
* mysql> SELECT * FROM innodb_buffer_stats_by_schema_raw;
58-
* +---------------+-----------+--------+-------+--------------+-----------+-------------+
59-
* | object_schema | allocated | data | pages | pages_hashed | pages_old | rows_cached |
60-
* +---------------+-----------+--------+-------+--------------+-----------+-------------+
61-
* | common_schema | 1114112 | 541996 | 68 | 68 | 68 | 697 |
62-
* | InnoDB System | 147456 | 16047 | 9 | 9 | 9 | 43 |
63-
* | mysql | 81920 | 9224 | 5 | 5 | 5 | 83 |
64-
* +---------------+-----------+--------+-------+--------------+-----------+-------------+
65-
* 3 rows in set (0.10 sec)
65+
* mysql> select * from x$innodb_buffer_stats_by_schema;
66+
* +--------------------------+-----------+--------+-------+--------------+-----------+-------------+
67+
* | object_schema | allocated | data | pages | pages_hashed | pages_old | rows_cached |
68+
* +--------------------------+-----------+--------+-------+--------------+-----------+-------------+
69+
* | mem30_trunk__instruments | 1769472 | 522272 | 108 | 108 | 108 | 3885 |
70+
* | InnoDB System | 704512 | 360054 | 43 | 43 | 43 | 862 |
71+
* | mem30_trunk__events | 81920 | 22125 | 5 | 5 | 5 | 229 |
72+
* +--------------------------+-----------+--------+-------+--------------+-----------+-------------+
6673
*
67-
* Versions: 5.5.28+
6874
*/
6975

70-
/*!50528 DROP VIEW IF EXISTS innodb_buffer_stats_by_schema_raw */;
71-
72-
/*!50528
73-
CREATE SQL SECURITY INVOKER VIEW innodb_buffer_stats_by_schema_raw AS
76+
CREATE OR REPLACE
77+
ALGORITHM = TEMPTABLE
78+
DEFINER = 'root'@'localhost'
79+
SQL SECURITY INVOKER
80+
VIEW x$innodb_buffer_stats_by_schema (
81+
object_schema,
82+
allocated,
83+
data,
84+
pages,
85+
pages_hashed,
86+
pages_old,
87+
rows_cached
88+
) AS
7489
SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema,
7590
SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) AS allocated,
7691
SUM(ibp.data_size) AS data,
@@ -81,4 +96,4 @@ SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_IN
8196
FROM information_schema.innodb_buffer_page ibp
8297
WHERE table_name IS NOT NULL
8398
GROUP BY object_schema
84-
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC */;
99+
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC;

views/i_s/innodb_buffer_stats_by_table.sql

Lines changed: 59 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,44 @@
1111
1212
You should have received a copy of the GNU General Public License
1313
along with this program; if not, write to the Free Software
14-
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
14+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515

16-
/* View: innodb_buffer_stats_by_table
16+
/*
17+
* View: innodb_buffer_stats_by_table
1718
*
1819
* Summarizes the output of the INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
1920
* table, aggregating by schema and table name
2021
*
2122
* mysql> select * from innodb_buffer_stats_by_table;
22-
* +---------------+-------------+-----------+-----------+-------+--------------+-----------+-------------+
23-
* | object_schema | object_name | allocated | data | pages | pages_hashed | pages_old | rows_cached |
24-
* +---------------+-------------+-----------+-----------+-------+--------------+-----------+-------------+
25-
* | InnoDB System | SYS_FOREIGN | 32.00 KiB | 0 bytes | 2 | 2 | 2 | 0 |
26-
* | InnoDB System | SYS_COLUMNS | 16.00 KiB | 501 bytes | 1 | 1 | 1 | 8 |
27-
* | InnoDB System | SYS_FIELDS | 16.00 KiB | 203 bytes | 1 | 1 | 1 | 5 |
28-
* | InnoDB System | SYS_INDEXES | 16.00 KiB | 266 bytes | 1 | 1 | 1 | 4 |
29-
* | InnoDB System | SYS_TABLES | 16.00 KiB | 149 bytes | 1 | 1 | 1 | 2 |
30-
* +---------------+-------------+-----------+-----------+-------+--------------+-----------+-------------+
31-
* 5 rows in set (2.16 sec)
23+
* +--------------------------+------------------------------------+------------+-----------+-------+--------------+-----------+-------------+
24+
* | object_schema | object_name | allocated | data | pages | pages_hashed | pages_old | rows_cached |
25+
* +--------------------------+------------------------------------+------------+-----------+-------+--------------+-----------+-------------+
26+
* | InnoDB System | SYS_COLUMNS | 128.00 KiB | 98.97 KiB | 8 | 8 | 8 | 1532 |
27+
* | InnoDB System | SYS_FOREIGN | 128.00 KiB | 55.48 KiB | 8 | 8 | 8 | 172 |
28+
* | InnoDB System | SYS_TABLES | 128.00 KiB | 56.18 KiB | 8 | 8 | 8 | 365 |
29+
* | InnoDB System | SYS_INDEXES | 112.00 KiB | 76.16 KiB | 7 | 7 | 7 | 1046 |
30+
* | mem30_trunk__instruments | agentlatencytime | 96.00 KiB | 28.83 KiB | 6 | 6 | 6 | 252 |
31+
* | mem30_trunk__instruments | binlogspaceusagedata | 96.00 KiB | 22.54 KiB | 6 | 6 | 6 | 196 |
32+
* | mem30_trunk__instruments | connectionsdata | 96.00 KiB | 36.68 KiB | 6 | 6 | 6 | 276 |
33+
* ...
34+
* +--------------------------+------------------------------------+------------+-----------+-------+--------------+-----------+-------------+
3235
*
33-
* Versions: 5.5.28+
3436
*/
3537

36-
/*!50528 DROP VIEW IF EXISTS innodb_buffer_stats_by_table */;
37-
38-
/*!50528
39-
CREATE SQL SECURITY INVOKER VIEW innodb_buffer_stats_by_table AS
38+
CREATE OR REPLACE
39+
ALGORITHM = TEMPTABLE
40+
DEFINER = 'root'@'localhost'
41+
SQL SECURITY INVOKER
42+
VIEW innodb_buffer_stats_by_table (
43+
object_schema,
44+
object_name,
45+
allocated,
46+
data,
47+
pages,
48+
pages_hashed,
49+
pages_old,
50+
rows_cached
51+
) AS
4052
SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema,
4153
REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', -1), '`', '') AS object_name,
4254
sys.format_bytes(SUM(IF(ibp.compressed_size = 0, 16384, compressed_size))) AS allocated,
@@ -48,32 +60,43 @@ SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_IN
4860
FROM information_schema.innodb_buffer_page ibp
4961
WHERE table_name IS NOT NULL
5062
GROUP BY object_schema, object_name
51-
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC */;
63+
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC;
5264

53-
/* View: innodb_buffer_stats_by_table_raw
65+
/* View: x$innodb_buffer_stats_by_table
5466
*
5567
* Summarizes the output of the INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
5668
* table, aggregating by schema and table name
5769
*
58-
* mysql> select * from innodb_buffer_stats_by_table_raw;
59-
* +---------------+-------------+-----------+------+-------+--------------+-----------+-------------+
60-
* | object_schema | object_name | allocated | data | pages | pages_hashed | pages_old | rows_cached |
61-
* +---------------+-------------+-----------+------+-------+--------------+-----------+-------------+
62-
* | InnoDB System | SYS_FOREIGN | 32768 | 0 | 2 | 2 | 2 | 0 |
63-
* | InnoDB System | SYS_COLUMNS | 16384 | 501 | 1 | 1 | 1 | 8 |
64-
* | InnoDB System | SYS_FIELDS | 16384 | 203 | 1 | 1 | 1 | 5 |
65-
* | InnoDB System | SYS_INDEXES | 16384 | 266 | 1 | 1 | 1 | 4 |
66-
* | InnoDB System | SYS_TABLES | 16384 | 149 | 1 | 1 | 1 | 2 |
67-
* +---------------+-------------+-----------+------+-------+--------------+-----------+-------------+
68-
* 5 rows in set (1.80 sec)
70+
* mysql> select * from x$innodb_buffer_stats_by_table;
71+
* +--------------------------+------------------------------------+-----------+--------+-------+--------------+-----------+-------------+
72+
* | object_schema | object_name | allocated | data | pages | pages_hashed | pages_old | rows_cached |
73+
* +--------------------------+------------------------------------+-----------+--------+-------+--------------+-----------+-------------+
74+
* | InnoDB System | SYS_COLUMNS | 131072 | 101350 | 8 | 8 | 8 | 1532 |
75+
* | InnoDB System | SYS_FOREIGN | 131072 | 56808 | 8 | 8 | 8 | 172 |
76+
* | InnoDB System | SYS_TABLES | 131072 | 57529 | 8 | 8 | 8 | 365 |
77+
* | InnoDB System | SYS_INDEXES | 114688 | 77984 | 7 | 7 | 7 | 1046 |
78+
* | mem30_trunk__instruments | agentlatencytime | 98304 | 29517 | 6 | 6 | 6 | 252 |
79+
* | mem30_trunk__instruments | binlogspaceusagedata | 98304 | 23076 | 6 | 6 | 6 | 196 |
80+
* | mem30_trunk__instruments | connectionsdata | 98304 | 37563 | 6 | 6 | 6 | 276 |
81+
* ...
82+
* +--------------------------+------------------------------------+-----------+--------+-------+--------------+-----------+-------------+
6983
*
70-
* Versions: 5.5.28+
7184
*/
7285

73-
/*!50528 DROP VIEW IF EXISTS innodb_buffer_stats_by_table_raw */;
74-
75-
/*!50528
76-
CREATE SQL SECURITY INVOKER VIEW innodb_buffer_stats_by_table_raw AS
86+
CREATE OR REPLACE
87+
ALGORITHM = TEMPTABLE
88+
DEFINER = 'root'@'localhost'
89+
SQL SECURITY INVOKER
90+
VIEW x$innodb_buffer_stats_by_table (
91+
object_schema,
92+
object_name,
93+
allocated,
94+
data,
95+
pages,
96+
pages_hashed,
97+
pages_old,
98+
rows_cached
99+
) AS
77100
SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', 1), '`', '')) AS object_schema,
78101
REPLACE(SUBSTRING_INDEX(ibp.table_name, '.', -1), '`', '') AS object_name,
79102
SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) AS allocated,
@@ -85,4 +108,4 @@ SELECT IF(LOCATE('.', ibp.table_name) = 0, 'InnoDB System', REPLACE(SUBSTRING_IN
85108
FROM information_schema.innodb_buffer_page ibp
86109
WHERE table_name IS NOT NULL
87110
GROUP BY object_schema, object_name
88-
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC */;
111+
ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC;

views/i_s/schema_object_overview.sql

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
1212
You should have received a copy of the GNU General Public License
1313
along with this program; if not, write to the Free Software
14-
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
14+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
1515

1616
/*
1717
* View: schema_object_overview
@@ -22,27 +22,31 @@
2222
* some time to execute, and is not recommended.
2323
*
2424
* mysql> select * from schema_object_overview;
25-
* +--------------------+---------------+-------+
26-
* | db | object_type | count |
27-
* +--------------------+---------------+-------+
28-
* | information_schema | SYSTEM VIEW | 59 |
29-
* | mysql | BASE TABLE | 28 |
30-
* | mysql | INDEX (BTREE) | 63 |
31-
* | performance_schema | BASE TABLE | 52 |
32-
* | ps_helper | FUNCTION | 8 |
33-
* | ps_helper | PROCEDURE | 12 |
34-
* | ps_helper | VIEW | 49 |
35-
* | test | BASE TABLE | 2 |
36-
* | test | INDEX (BTREE) | 2 |
37-
* +--------------------+---------------+-------+
38-
* 9 rows in set (0.08 sec)
25+
* +---------------------------------+---------------+-------+
26+
* | db | object_type | count |
27+
* +---------------------------------+---------------+-------+
28+
* | information_schema | SYSTEM VIEW | 59 |
29+
* | mem30_test__instruments | BASE TABLE | 1 |
30+
* | mem30_test__instruments | INDEX (BTREE) | 2 |
31+
* | mem30_test__test | BASE TABLE | 9 |
32+
* | mem30_test__test | INDEX (BTREE) | 19 |
33+
* ...
34+
* | sys | FUNCTION | 8 |
35+
* | sys | PROCEDURE | 16 |
36+
* | sys | VIEW | 59 |
37+
* +---------------------------------+---------------+-------+
3938
*
40-
* Versions: 5.1+
4139
*/
4240

43-
DROP VIEW IF EXISTS schema_object_overview;
44-
45-
CREATE SQL SECURITY INVOKER VIEW schema_object_overview AS
41+
CREATE OR REPLACE
42+
ALGORITHM = TEMPTABLE
43+
DEFINER = 'root'@'localhost'
44+
SQL SECURITY INVOKER
45+
VIEW schema_object_overview (
46+
db,
47+
object_type,
48+
count
49+
) AS
4650
SELECT ROUTINE_SCHEMA AS db, ROUTINE_TYPE AS object_type, COUNT(*) AS count FROM INFORMATION_SCHEMA.ROUTINES GROUP BY ROUTINE_SCHEMA, ROUTINE_TYPE
4751
UNION
4852
SELECT TABLE_SCHEMA, TABLE_TYPE, COUNT(*) FROM INFORMATION_SCHEMA.TABLES GROUP BY TABLE_SCHEMA, TABLE_TYPE
@@ -52,4 +56,4 @@ SELECT TABLE_SCHEMA, CONCAT('INDEX (', INDEX_TYPE, ')'), COUNT(*) FROM INFORMATI
5256
SELECT TRIGGER_SCHEMA, 'TRIGGER', COUNT(*) FROM INFORMATION_SCHEMA.TRIGGERS GROUP BY TRIGGER_SCHEMA
5357
UNION
5458
SELECT EVENT_SCHEMA, 'EVENT', COUNT(*) FROM INFORMATION_SCHEMA.EVENTS GROUP BY EVENT_SCHEMA
55-
ORDER BY DB, OBJECT_TYPE;
59+
ORDER BY DB, OBJECT_TYPE;

0 commit comments

Comments
 (0)