UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES'; UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES' WHERE name LIKE 'wait/io/file/%'; DROP TABLE IF EXISTS t1; CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value') ENGINE=MyISAM; INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8); TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG; TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY; TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT; SELECT * FROM t1 WHERE id = 1; id b 1 initial value SET @before_count = (SELECT SUM(TIMER_WAIT) FROM performance_schema.EVENTS_WAITS_HISTORY_LONG WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile') AND (OBJECT_NAME LIKE '%t1.MYD')); SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation; has_instrumentation Success SELECT * FROM t1 WHERE id < 4; id b 1 initial value 2 initial value 3 initial value SET @after_count = (SELECT SUM(TIMER_WAIT) FROM performance_schema.EVENTS_WAITS_HISTORY_LONG WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile') AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1)); SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed; test_ff1_timed Success UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled='NO'; SET @before_count = (SELECT SUM(TIMER_WAIT) FROM performance_schema.EVENTS_WAITS_HISTORY_LONG WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile') AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2)); SELECT * FROM t1 WHERE id < 6; id b 1 initial value 2 initial value 3 initial value 4 initial value 5 initial value SET @after_count = (SELECT SUM(TIMER_WAIT) FROM performance_schema.EVENTS_WAITS_HISTORY_LONG WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile') AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3)); SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_ff2_timed; test_ff2_timed Success UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES' WHERE name LIKE 'wait/io/file/%'; UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'NO'; TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG; TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY; TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT; SELECT * FROM t1 WHERE id > 4; id b 5 initial value 6 initial value 7 initial value 8 initial value SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY_LONG WHERE TIMER_WAIT != NULL OR TIMER_START != NULL OR TIMER_END != NULL; THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY WHERE TIMER_WAIT != NULL OR TIMER_START != NULL OR TIMER_END != NULL; THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS SELECT * FROM performance_schema.EVENTS_WAITS_CURRENT WHERE TIMER_WAIT != NULL OR TIMER_START != NULL OR TIMER_END != NULL; THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'YES'; SELECT * FROM t1 WHERE id < 4; id b 1 initial value 2 initial value 3 initial value DROP TABLE t1; SELECT SUM(COUNT_READ) AS sum_count_read, SUM(COUNT_WRITE) AS sum_count_write, SUM(SUM_NUMBER_OF_BYTES_READ) AS sum_num_bytes_read, SUM(SUM_NUMBER_OF_BYTES_WRITE) AS sum_num_bytes_write FROM performance_schema.FILE_SUMMARY_BY_INSTANCE WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL; SELECT EVENT_NAME, COUNT_STAR, AVG_TIMER_WAIT, SUM_TIMER_WAIT FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_EVENT_NAME WHERE COUNT_STAR > 0 ORDER BY SUM_TIMER_WAIT DESC LIMIT 10; SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT # ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) LEFT JOIN information_schema.PROCESSLIST i USING (ID) GROUP BY i.user ORDER BY SUM_WAIT DESC LIMIT 20; SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) WHERE p.ID = 1 GROUP BY h.EVENT_NAME HAVING TOTAL_WAIT > 0; SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h INNER JOIN performance_schema.PROCESSLIST p USING (THREAD_ID) LEFT JOIN information_schema.PROCESSLIST i USING (ID) GROUP BY i.user, h.operation HAVING BYTES > 0 ORDER BY i.user, h.operation;