show databases; Database information_schema mtr mysql performance_schema sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) 15 select count(*) > 4 from performance_schema.setup_instruments; count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) 5 Warnings: Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release. select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; select * from performance_schema.events_stages_history; select * from performance_schema.events_stages_history_long; select * from performance_schema.events_stages_summary_by_account_by_event_name; select * from performance_schema.events_stages_summary_by_host_by_event_name; select * from performance_schema.events_stages_summary_by_thread_by_event_name; select * from performance_schema.events_stages_summary_by_user_by_event_name; select * from performance_schema.events_stages_summary_global_by_event_name; select * from performance_schema.events_statements_current; select * from performance_schema.events_statements_history; select * from performance_schema.events_statements_history_long; select * from performance_schema.events_statements_summary_by_account_by_event_name; select * from performance_schema.events_statements_summary_by_digest; select * from performance_schema.events_statements_summary_by_host_by_event_name; select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; select * from performance_schema.events_transactions_current; select * from performance_schema.events_transactions_history; select * from performance_schema.events_transactions_history_long; select * from performance_schema.events_transactions_summary_by_account_by_event_name; select * from performance_schema.events_transactions_summary_by_host_by_event_name; select * from performance_schema.events_transactions_summary_by_thread_by_event_name; select * from performance_schema.events_transactions_summary_by_user_by_event_name; select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; select * from performance_schema.events_waits_summary_by_account_by_event_name; select * from performance_schema.events_waits_summary_by_host_by_event_name; select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; select * from performance_schema.memory_summary_by_account_by_event_name; select * from performance_schema.memory_summary_by_host_by_event_name; select * from performance_schema.memory_summary_by_thread_by_event_name; select * from performance_schema.memory_summary_by_user_by_event_name; select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; select * from performance_schema.memory_summary_by_account_by_event_name; select * from performance_schema.memory_summary_by_host_by_event_name; select * from performance_schema.memory_summary_by_thread_by_event_name; select * from performance_schema.memory_summary_by_user_by_event_name; select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; select * from performance_schema.rwlock_instances; select * from performance_schema.session_account_connect_attrs; select * from performance_schema.session_connect_attrs; select * from performance_schema.setup_actors; select * from performance_schema.setup_consumers; select * from performance_schema.setup_instruments; select * from performance_schema.setup_objects; select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; select * from performance_schema.replication_connection_configuration; select * from performance_schema.replication_connection_status; select * from performance_schema.replication_applier_configuration; select * from performance_schema.replication_applier_status; select * from performance_schema.replication_applier_status_by_coordinator; select * from performance_schema.replication_applier_status_by_worker; select * from performance_schema.global_status; select * from performance_schema.status_by_thread; select * from performance_schema.status_by_user; select * from performance_schema.status_by_host; select * from performance_schema.status_by_account; select * from performance_schema.session_status; select * from performance_schema.global_variables; select * from performance_schema.variables_by_thread; select * from performance_schema.session_variables; show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 performance_schema_digests_size 200 performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 performance_schema_events_transactions_history_long_size 1000 performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 performance_schema_max_index_stat 5000 performance_schema_max_memory_classes 320 performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 210 performance_schema_max_mutex_instances 5000 performance_schema_max_prepared_statements_instances 100 performance_schema_max_program_instances 0 performance_schema_max_rwlock_classes 50 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 performance_schema_max_statement_classes 193 performance_schema_max_statement_stack 1 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; show global status like "performance_schema%"; show global variables like "performance_schema_max_program_instances"; Variable_name Value performance_schema_max_program_instances 0 show global variables like "performance_schema_max_statement_stack"; Variable_name Value performance_schema_max_statement_stack 1 ##################### # Setup ##################### # SET-UP CREATE DATABASE nested_sp; USE nested_sp; CREATE TABLE t1( id CHAR(16) NOT NULL DEFAULT '', data INT NOT NULL ); CREATE TABLE t2( n INT UNSIGNED NOT NULL, f BIGINT UNSIGNED ); ############################ # Creating Stored Programs # ############################ CREATE PROCEDURE c1(x INT) CALL c2("c", x)| CREATE PROCEDURE c2(s CHAR(16), x INT) CALL c3(x, s)| CREATE PROCEDURE c3(x INT, s CHAR(16)) CALL c4("level", x, s)| CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) INSERT INTO t1 VALUES (concat(l,s), x)| CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) BEGIN CALL inc2(x2, y); INSERT INTO t1 VALUES (x1, y); END| CREATE PROCEDURE inc2(x CHAR(16), y INT) BEGIN CALL inc(y); INSERT INTO t1 VALUES (x, y); END| CREATE PROCEDURE inc(inout io INT) SET io = io + 1| CREATE FUNCTION mul(x INT, y INT) RETURNS INT RETURN x*y| CREATE FUNCTION inc(i INT) RETURNS INT RETURN i+1| CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED BEGIN DECLARE f BIGINT UNSIGNED DEFAULT 1; WHILE n > 1 DO SET f = f * n; SET n = n - 1; END WHILE; RETURN f; END| CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE RETURN mul(inc(i), fac(u))| CREATE PROCEDURE ifac(n INT UNSIGNED) BEGIN DECLARE i BIGINT UNSIGNED DEFAULT 1; IF n > 20 THEN SET n = 20; # bigint overflow otherwise END IF; WHILE i <= n DO BEGIN INSERT INTO t2 VALUES (i, fac(i)); SET i = i + 1; END; END WHILE; END| CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW CALL ifac(10)| TRUNCATE performance_schema.events_statements_summary_by_program; ##################### # Executing Queries ##################### ##################### # Executing queries # ##################### CALL c1(42); SELECT * FROM t1; id data levelc 42 DELETE FROM t1; CALL iotest("io1", "io2", 1); SELECT * FROM t1 ORDER BY data DESC; id data io2 2 io1 1 DELETE FROM t1; SELECT fun(6,10); fun(6,10) 25401600 INSERT INTO t1 VALUES (20,13); SELECT * FROM t2; n f 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800 ########################################### # Quering PS statement summary table # ########################################### SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA FROM performance_schema.events_statements_summary_by_program; OBJECT_TYPE OBJECT_NAME OBJECT_SCHEMA SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_program; COUNT(*) 0 ##################### # Cleanup ##################### DROP PROCEDURE c4; DROP PROCEDURE c3; DROP PROCEDURE c2; DROP PROCEDURE c1; DROP PROCEDURE inc; DROP PROCEDURE inc2; DROP PROCEDURE iotest; DROP FUNCTION mul; DROP FUNCTION inc; DROP FUNCTION fac; DROP FUNCTION fun; DROP PROCEDURE ifac; DROP TRIGGER trg; DROP TABLE t1,t2; DROP DATABASE nested_sp;