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

Commit d831014

Browse files
committed
Fix the InnoDB buffer views for 5.7.5 ONLY_FULL_GROUP_BY, also add an innodb_buffer_free column to summarize allocated but free space per object
1 parent 16c0429 commit d831014

File tree

2 files changed

+76
-70
lines changed

2 files changed

+76
-70
lines changed

views/p_s/schema_table_statistics.sql

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,16 @@ VIEW x$ps_schema_table_statistics_io (
4040
) AS
4141
SELECT extract_schema_from_file_name(file_name) AS table_schema,
4242
extract_table_from_file_name(file_name) AS table_name,
43-
count_read, sum_number_of_bytes_read, sum_timer_read,
44-
count_write, sum_number_of_bytes_write, sum_timer_write,
45-
count_misc, sum_timer_misc
46-
FROM performance_schema.file_summary_by_instance;
43+
SUM(count_read) AS count_read,
44+
SUM(sum_number_of_bytes_read) AS sum_number_of_bytes_read,
45+
SUM(sum_timer_read) AS sum_timer_read,
46+
SUM(count_write) AS count_write,
47+
SUM(sum_number_of_bytes_write) AS sum_number_of_bytes_write,
48+
SUM(sum_timer_write) AS sum_timer_write,
49+
SUM(count_misc) AS count_misc,
50+
SUM(sum_timer_misc) AS sum_timer_misc
51+
FROM performance_schema.file_summary_by_instance
52+
GROUP BY table_schema, table_name;
4753

4854
/*
4955
* View: schema_table_statistics
@@ -112,19 +118,18 @@ SELECT pst.object_schema AS table_schema,
112118
sys.format_time(pst.sum_timer_update) AS update_latency,
113119
pst.count_delete AS rows_deleted,
114120
sys.format_time(pst.sum_timer_delete) AS delete_latency,
115-
SUM(fsbi.count_read) AS io_read_requests,
116-
sys.format_bytes(SUM(fsbi.sum_number_of_bytes_read)) AS io_read,
117-
sys.format_time(SUM(fsbi.sum_timer_read)) AS io_read_latency,
118-
SUM(fsbi.count_write) AS io_write_requests,
119-
sys.format_bytes(SUM(fsbi.sum_number_of_bytes_write)) AS io_write,
120-
sys.format_time(SUM(fsbi.sum_timer_write)) AS io_write_latency,
121-
SUM(fsbi.count_misc) AS io_misc_requests,
122-
sys.format_time(SUM(fsbi.sum_timer_misc)) AS io_misc_latency
121+
fsbi.count_read AS io_read_requests,
122+
sys.format_bytes(fsbi.sum_number_of_bytes_read) AS io_read,
123+
sys.format_time(fsbi.sum_timer_read) AS io_read_latency,
124+
fsbi.count_write AS io_write_requests,
125+
sys.format_bytes(fsbi.sum_number_of_bytes_write) AS io_write,
126+
sys.format_time(fsbi.sum_timer_write) AS io_write_latency,
127+
fsbi.count_misc AS io_misc_requests,
128+
sys.format_time(fsbi.sum_timer_misc) AS io_misc_latency
123129
FROM performance_schema.table_io_waits_summary_by_table AS pst
124130
LEFT JOIN x$ps_schema_table_statistics_io AS fsbi
125131
ON pst.object_schema = fsbi.table_schema
126132
AND pst.object_name = fsbi.table_name
127-
GROUP BY pst.object_schema, pst.object_name
128133
ORDER BY pst.sum_timer_wait DESC;
129134

130135
/*
@@ -193,17 +198,16 @@ SELECT pst.object_schema AS table_schema,
193198
pst.sum_timer_update AS update_latency,
194199
pst.count_delete AS rows_deleted,
195200
pst.sum_timer_delete AS delete_latency,
196-
SUM(fsbi.count_read) AS io_read_requests,
197-
SUM(fsbi.sum_number_of_bytes_read) AS io_read,
198-
SUM(fsbi.sum_timer_read) AS io_read_latency,
199-
SUM(fsbi.count_write) AS io_write_requests,
200-
SUM(fsbi.sum_number_of_bytes_write) AS io_write,
201-
SUM(fsbi.sum_timer_write) AS io_write_latency,
202-
SUM(fsbi.count_misc) AS io_misc_requests,
203-
SUM(fsbi.sum_timer_misc) AS io_misc_latency
201+
fsbi.count_read AS io_read_requests,
202+
fsbi.sum_number_of_bytes_read AS io_read,
203+
fsbi.sum_timer_read AS io_read_latency,
204+
fsbi.count_write AS io_write_requests,
205+
fsbi.sum_number_of_bytes_write AS io_write,
206+
fsbi.sum_timer_write AS io_write_latency,
207+
fsbi.count_misc AS io_misc_requests,
208+
fsbi.sum_timer_misc AS io_misc_latency
204209
FROM performance_schema.table_io_waits_summary_by_table AS pst
205210
LEFT JOIN x$ps_schema_table_statistics_io AS fsbi
206211
ON pst.object_schema = fsbi.table_schema
207212
AND pst.object_name = fsbi.table_name
208-
GROUP BY pst.object_schema, pst.object_name
209213
ORDER BY pst.sum_timer_wait DESC;

views/p_s/schema_table_statistics_with_buffer.sql

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -76,44 +76,45 @@ VIEW schema_table_statistics_with_buffer (
7676
io_misc_latency,
7777
innodb_buffer_allocated,
7878
innodb_buffer_data,
79+
innodb_buffer_free,
7980
innodb_buffer_pages,
8081
innodb_buffer_pages_hashed,
8182
innodb_buffer_pages_old,
8283
innodb_buffer_rows_cached
8384
) AS
8485
SELECT pst.object_schema AS table_schema,
8586
pst.object_name AS table_name,
86-
SUM(pst.count_fetch) AS rows_fetched,
87-
sys.format_time(SUM(pst.sum_timer_fetch)) AS fetch_latency,
88-
SUM(pst.count_fetch) AS rows_fetched,
89-
sys.format_time(SUM(pst.sum_timer_insert)) AS insert_latency,
90-
SUM(pst.count_update) AS rows_updated,
91-
sys.format_time(SUM(pst.sum_timer_update)) AS update_latency,
92-
SUM(pst.count_delete) AS rows_deleted,
93-
sys.format_time(SUM(pst.sum_timer_delete)) AS delete_latency,
94-
SUM(fsbi.count_read) AS io_read_requests,
95-
sys.format_bytes(SUM(fsbi.sum_number_of_bytes_read)) AS io_read,
96-
sys.format_time(SUM(fsbi.sum_timer_read)) AS io_read_latency,
97-
SUM(fsbi.count_write) AS io_write_requests,
98-
sys.format_bytes(SUM(fsbi.sum_number_of_bytes_write)) AS io_write,
99-
sys.format_time(SUM(fsbi.sum_timer_write)) AS io_write_latency,
100-
SUM(fsbi.count_misc) AS io_misc_requests,
101-
sys.format_time(SUM(fsbi.sum_timer_misc)) AS io_misc_latency,
102-
SUM(ibp.allocated) AS innodb_buffer_allocated,
103-
SUM(ibp.data) AS innodb_buffer_data,
104-
SUM(ibp.pages) AS innodb_buffer_pages,
105-
SUM(ibp.pages_hashed) AS innodb_buffer_pages_hashed,
106-
SUM(ibp.pages_old) AS innodb_buffer_pages_old,
107-
SUM(ibp.rows_cached) AS innodb_buffer_rows_cached
87+
pst.count_fetch AS rows_fetched,
88+
sys.format_time(pst.sum_timer_fetch) AS fetch_latency,
89+
pst.count_insert AS rows_inserted,
90+
sys.format_time(pst.sum_timer_insert) AS insert_latency,
91+
pst.count_update AS rows_updated,
92+
sys.format_time(pst.sum_timer_update) AS update_latency,
93+
pst.count_delete AS rows_deleted,
94+
sys.format_time(pst.sum_timer_delete) AS delete_latency,
95+
fsbi.count_read AS io_read_requests,
96+
sys.format_bytes(fsbi.sum_number_of_bytes_read) AS io_read,
97+
sys.format_time(fsbi.sum_timer_read) AS io_read_latency,
98+
fsbi.count_write AS io_write_requests,
99+
sys.format_bytes(fsbi.sum_number_of_bytes_write) AS io_write,
100+
sys.format_time(fsbi.sum_timer_write) AS io_write_latency,
101+
fsbi.count_misc AS io_misc_requests,
102+
sys.format_time(fsbi.sum_timer_misc) AS io_misc_latency,
103+
sys.format_bytes(ibp.allocated) AS innodb_buffer_allocated,
104+
sys.format_bytes(ibp.data) AS innodb_buffer_data,
105+
sys.format_bytes(ibp.allocated - ibp.data) AS innodb_buffer_free,
106+
ibp.pages AS innodb_buffer_pages,
107+
ibp.pages_hashed AS innodb_buffer_pages_hashed,
108+
ibp.pages_old AS innodb_buffer_pages_old,
109+
ibp.rows_cached AS innodb_buffer_rows_cached
108110
FROM performance_schema.table_io_waits_summary_by_table AS pst
109111
LEFT JOIN x$ps_schema_table_statistics_io AS fsbi
110112
ON pst.object_schema = fsbi.table_schema
111113
AND pst.object_name = fsbi.table_name
112114
LEFT JOIN sys.x$innodb_buffer_stats_by_table AS ibp
113115
ON pst.object_schema = ibp.object_schema
114116
AND pst.object_name = ibp.object_name
115-
GROUP BY pst.object_schema, pst.object_name
116-
ORDER BY SUM(pst.sum_timer_wait) DESC;
117+
ORDER BY pst.sum_timer_wait DESC;
117118

118119
/*
119120
* View: x$schema_table_statistics_with_buffer
@@ -178,41 +179,42 @@ VIEW x$schema_table_statistics_with_buffer (
178179
io_misc_latency,
179180
innodb_buffer_allocated,
180181
innodb_buffer_data,
182+
innodb_buffer_free,
181183
innodb_buffer_pages,
182184
innodb_buffer_pages_hashed,
183185
innodb_buffer_pages_old,
184186
innodb_buffer_rows_cached
185187
) AS
186188
SELECT pst.object_schema AS table_schema,
187189
pst.object_name AS table_name,
188-
SUM(pst.count_fetch) AS rows_fetched,
189-
SUM(pst.sum_timer_fetch) AS fetch_latency,
190-
SUM(pst.count_insert) AS rows_inserted,
191-
SUM(pst.sum_timer_insert) AS insert_latency,
192-
SUM(pst.count_update) AS rows_updated,
193-
SUM(pst.sum_timer_update) AS update_latency,
194-
SUM(pst.count_delete) AS rows_deleted,
195-
SUM(pst.sum_timer_delete) AS delete_latency,
196-
SUM(fsbi.count_read) AS io_read_requests,
197-
SUM(fsbi.sum_number_of_bytes_read) AS io_read,
198-
SUM(fsbi.sum_timer_read) AS io_read_latency,
199-
SUM(fsbi.count_write) AS io_write_requests,
200-
SUM(fsbi.sum_number_of_bytes_write) AS io_write,
201-
SUM(fsbi.sum_timer_write) AS io_write_latency,
202-
SUM(fsbi.count_misc) AS io_misc_requests,
203-
SUM(fsbi.sum_timer_misc) AS io_misc_latency,
204-
SUM(ibp.allocated) AS innodb_buffer_allocated,
205-
SUM(ibp.data) AS innodb_buffer_data,
206-
SUM(ibp.pages) AS innodb_buffer_pages,
207-
SUM(ibp.pages_hashed) AS innodb_buffer_pages_hashed,
208-
SUM(ibp.pages_old) AS innodb_buffer_pages_old,
209-
SUM(ibp.rows_cached) AS innodb_buffer_rows_cached
190+
pst.count_fetch AS rows_fetched,
191+
pst.sum_timer_fetch AS fetch_latency,
192+
pst.count_insert AS rows_inserted,
193+
pst.sum_timer_insert AS insert_latency,
194+
pst.count_update AS rows_updated,
195+
pst.sum_timer_update AS update_latency,
196+
pst.count_delete AS rows_deleted,
197+
pst.sum_timer_delete AS delete_latency,
198+
fsbi.count_read AS io_read_requests,
199+
fsbi.sum_number_of_bytes_read AS io_read,
200+
fsbi.sum_timer_read AS io_read_latency,
201+
fsbi.count_write AS io_write_requests,
202+
fsbi.sum_number_of_bytes_write AS io_write,
203+
fsbi.sum_timer_write AS io_write_latency,
204+
fsbi.count_misc AS io_misc_requests,
205+
fsbi.sum_timer_misc AS io_misc_latency,
206+
ibp.allocated AS innodb_buffer_allocated,
207+
ibp.data AS innodb_buffer_data,
208+
(ibp.allocated - ibp.data) AS innodb_buffer_free,
209+
ibp.pages AS innodb_buffer_pages,
210+
ibp.pages_hashed AS innodb_buffer_pages_hashed,
211+
ibp.pages_old AS innodb_buffer_pages_old,
212+
ibp.rows_cached AS innodb_buffer_rows_cached
210213
FROM performance_schema.table_io_waits_summary_by_table AS pst
211214
LEFT JOIN x$ps_schema_table_statistics_io AS fsbi
212215
ON pst.object_schema = fsbi.table_schema
213216
AND pst.object_name = fsbi.table_name
214217
LEFT JOIN sys.x$innodb_buffer_stats_by_table AS ibp
215218
ON pst.object_schema = ibp.object_schema
216219
AND pst.object_name = ibp.object_name
217-
GROUP BY pst.object_schema, pst.object_name
218-
ORDER BY SUM(pst.sum_timer_wait) DESC;
220+
ORDER BY pst.sum_timer_wait DESC;

0 commit comments

Comments
 (0)