/* setup_consumers */ DROP DATABASE IF EXISTS pstest; CREATE DATABASE pstest; use pstest; SELECT * FROM performance_schema.setup_consumers; DROP TEMPORARY TABLE IF EXISTS tmp_setup_consumers; CREATE TEMPORARY TABLE tmp_setup_consumers LIKE performance_schema.setup_consumers; INSERT INTO tmp_setup_consumers SELECT * FROM performance_schema.setup_consumers; UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'; SELECT * FROM performance_schema.setup_consumers; SELECT NAME, performance_schema.setup_consumers.ENABLED AS 'P_S', tmp_setup_consumers.ENABLED AS 'tmp' FROM performance_schema.setup_consumers INNER JOIN tmp_setup_consumers USING (NAME); UPDATE performance_schema.setup_consumers INNER JOIN tmp_setup_consumers USING (NAME) SET performance_schema.setup_consumers.ENABLED = tmp_setup_consumers.ENABLED; SELECT * FROM performance_schema.setup_consumers; /* threads */ UPDATE performance_schema.threads SET INSTRUMENTED = 'YES'; DROP DATABASE IF EXISTS pstest; CREATE DATABASE pstest; use pstest; SELECT THREAD_ID, INSTRUMENTED FROM performance_schema.threads; DROP TEMPORARY TABLE IF EXISTS tmp_threads; CREATE TEMPORARY TABLE tmp_threads (THREAD_ID bigint unsigned NOT NULL PRIMARY KEY, INSTRUMENTED enum('YES','NO') NOT NULL); INSERT INTO tmp_threads SELECT THREAD_ID, INSTRUMENTED FROM performance_schema.threads; UPDATE performance_schema.threads SET INSTRUMENTED = 'NO'; SELECT THREAD_ID, INSTRUMENTED FROM performance_schema.threads; SELECT THREAD_ID, performance_schema.threads.INSTRUMENTED AS 'P_S', tmp_threads.INSTRUMENTED AS 'tmp' FROM performance_schema.threads INNER JOIN tmp_threads USING (THREAD_ID); UPDATE performance_schema.threads INNER JOIN tmp_threads USING (THREAD_ID) SET performance_schema.threads.INSTRUMENTED = tmp_threads.INSTRUMENTED; SELECT THREAD_ID, INSTRUMENTED FROM performance_schema.threads; /* setup_instruments - works as expected */ DROP DATABASE IF EXISTS pstest; CREATE DATABASE pstest; use pstest; SELECT COUNT(IF(ENABLED = 'YES', 1, NULL)) AS NumEnabled, COUNT(IF(TIMED = 'YES', 1, NULL)) AS NumTimed FROM performance_schema.setup_instruments; DROP TEMPORARY TABLE IF EXISTS tmp_setup_instruments; CREATE TEMPORARY TABLE tmp_setup_instruments LIKE performance_schema.setup_instruments; INSERT INTO tmp_setup_instruments SELECT * FROM performance_schema.setup_instruments; UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES'; SELECT COUNT(IF(ENABLED = 'YES', 1, NULL)) AS NumEnabled, COUNT(IF(TIMED = 'YES', 1, NULL)) AS NumTimed FROM performance_schema.setup_instruments; SELECT COUNT(IF(performance_schema.setup_instruments.ENABLED = 'YES', 1, NULL)) AS 'P_S NumEnabled', COUNT(IF(performance_schema.setup_instruments.TIMED = 'YES', 1, NULL)) AS 'P_S NumTimed', COUNT(IF(tmp_setup_instruments.ENABLED = 'YES', 1, NULL)) AS 'P_S NumEnabled', COUNT(IF(tmp_setup_instruments.TIMED = 'YES', 1, NULL)) AS 'P_S NumTimed' FROM performance_schema.setup_instruments INNER JOIN tmp_setup_instruments USING (NAME); UPDATE performance_schema.setup_instruments INNER JOIN tmp_setup_instruments USING (NAME) SET performance_schema.setup_instruments.ENABLED = tmp_setup_instruments.ENABLED, performance_schema.setup_instruments.TIMED = tmp_setup_instruments.TIMED; SELECT COUNT(IF(ENABLED = 'YES', 1, NULL)) AS NumEnabled, COUNT(IF(TIMED = 'YES', 1, NULL)) AS NumTimed FROM performance_schema.setup_instruments;