From 96aff694b18d9558fe8b95671d29cc9ab4c1bb3a Mon Sep 17 00:00:00 2001 From: frank-cizmich Date: Sun, 10 Jan 2016 20:35:20 -0300 Subject: [PATCH] fixed 5.7 tests for pt-query-digest and pt-show-grants and tweaked SqlMode for global --- lib/SqlModes.pm | 49 ++++++++++++-- sandbox/servers/5.7/data.tar.gz | Bin 99634 -> 99670 bytes .../servers/5.7/data/mysql/columns_priv.MYD | 0 .../servers/5.7/data/mysql/columns_priv.MYI | Bin 0 -> 4096 bytes .../servers/5.7/data/mysql/columns_priv.frm | Bin 0 -> 8820 bytes sandbox/servers/5.7/data/mysql/db.MYD | 0 sandbox/servers/5.7/data/mysql/db.MYI | Bin 0 -> 2048 bytes sandbox/servers/5.7/data/mysql/db.frm | Bin 0 -> 9582 bytes sandbox/servers/5.7/data/mysql/db.opt | 2 + sandbox/servers/5.7/data/mysql/event.MYD | 0 sandbox/servers/5.7/data/mysql/event.MYI | Bin 0 -> 2048 bytes sandbox/servers/5.7/data/mysql/event.frm | Bin 0 -> 10223 bytes sandbox/servers/5.7/data/mysql/func.MYD | 0 sandbox/servers/5.7/data/mysql/func.MYI | Bin 0 -> 1024 bytes sandbox/servers/5.7/data/mysql/func.frm | Bin 0 -> 8665 bytes .../servers/5.7/data/mysql/general_log.CSM | Bin 0 -> 35 bytes .../servers/5.7/data/mysql/general_log.CSV | 0 .../servers/5.7/data/mysql/general_log.frm | Bin 0 -> 8776 bytes .../5.7/data/mysql/ndb_binlog_index.MYD | 0 .../5.7/data/mysql/ndb_binlog_index.MYI | Bin 0 -> 1024 bytes .../5.7/data/mysql/ndb_binlog_index.frm | Bin 0 -> 8986 bytes sandbox/servers/5.7/data/mysql/proc.MYD | Bin 0 -> 138068 bytes sandbox/servers/5.7/data/mysql/proc.MYI | Bin 0 -> 4096 bytes sandbox/servers/5.7/data/mysql/proc.frm | Bin 0 -> 9996 bytes sandbox/servers/5.7/data/mysql/procs_priv.MYD | 0 sandbox/servers/5.7/data/mysql/procs_priv.MYI | Bin 0 -> 4096 bytes sandbox/servers/5.7/data/mysql/procs_priv.frm | Bin 0 -> 8875 bytes .../servers/5.7/data/mysql/proxies_priv.MYD | 1 + .../servers/5.7/data/mysql/proxies_priv.MYI | Bin 0 -> 5120 bytes .../servers/5.7/data/mysql/proxies_priv.frm | Bin 0 -> 8800 bytes sandbox/servers/5.7/data/mysql/slow_log.CSM | Bin 0 -> 35 bytes sandbox/servers/5.7/data/mysql/slow_log.CSV | 0 sandbox/servers/5.7/data/mysql/slow_log.frm | Bin 0 -> 9016 bytes .../servers/5.7/data/mysql/tables_priv.MYD | 0 .../servers/5.7/data/mysql/tables_priv.MYI | Bin 0 -> 4096 bytes .../servers/5.7/data/mysql/tables_priv.frm | Bin 0 -> 8955 bytes sandbox/servers/5.7/data/mysql/user.MYD | Bin 0 -> 1020 bytes sandbox/servers/5.7/data/mysql/user.MYI | Bin 0 -> 2048 bytes sandbox/servers/5.7/data/mysql/user.frm | Bin 0 -> 10816 bytes .../5.7/data/performance_schema/accounts.frm | Bin 0 -> 8706 bytes .../performance_schema/cond_instances.frm | Bin 0 -> 8624 bytes .../5.7/data/performance_schema/db.opt | 2 + .../events_stages_current.frm | Bin 0 -> 9103 bytes .../events_stages_history.frm | Bin 0 -> 9103 bytes .../events_stages_history_long.frm | Bin 0 -> 9103 bytes ...tages_summary_by_account_by_event_name.frm | Bin 0 -> 8874 bytes ...s_stages_summary_by_host_by_event_name.frm | Bin 0 -> 8844 bytes ...stages_summary_by_thread_by_event_name.frm | Bin 0 -> 8854 bytes ...s_stages_summary_by_user_by_event_name.frm | Bin 0 -> 8844 bytes ...ts_stages_summary_global_by_event_name.frm | Bin 0 -> 8814 bytes .../events_statements_current.frm | Bin 0 -> 10597 bytes .../events_statements_history.frm | Bin 0 -> 10597 bytes .../events_statements_history_long.frm | Bin 0 -> 10597 bytes ...ments_summary_by_account_by_event_name.frm | Bin 0 -> 10000 bytes .../events_statements_summary_by_digest.frm | Bin 0 -> 10102 bytes ...atements_summary_by_host_by_event_name.frm | Bin 0 -> 9970 bytes .../events_statements_summary_by_program.frm | Bin 0 -> 10369 bytes ...ements_summary_by_thread_by_event_name.frm | Bin 0 -> 9980 bytes ...atements_summary_by_user_by_event_name.frm | Bin 0 -> 9970 bytes ...tatements_summary_global_by_event_name.frm | Bin 0 -> 9940 bytes .../events_transactions_current.frm | Bin 0 -> 9800 bytes .../events_transactions_history.frm | Bin 0 -> 9800 bytes .../events_transactions_history_long.frm | Bin 0 -> 9800 bytes ...tions_summary_by_account_by_event_name.frm | Bin 0 -> 9468 bytes ...sactions_summary_by_host_by_event_name.frm | Bin 0 -> 9438 bytes ...ctions_summary_by_thread_by_event_name.frm | Bin 0 -> 9448 bytes ...sactions_summary_by_user_by_event_name.frm | Bin 0 -> 9438 bytes ...nsactions_summary_global_by_event_name.frm | Bin 0 -> 9408 bytes .../events_waits_current.frm | Bin 0 -> 9401 bytes .../events_waits_history.frm | Bin 0 -> 9401 bytes .../events_waits_history_long.frm | Bin 0 -> 9401 bytes ...waits_summary_by_account_by_event_name.frm | Bin 0 -> 8874 bytes ...ts_waits_summary_by_host_by_event_name.frm | Bin 0 -> 8844 bytes .../events_waits_summary_by_instance.frm | Bin 0 -> 8878 bytes ..._waits_summary_by_thread_by_event_name.frm | Bin 0 -> 8854 bytes ...ts_waits_summary_by_user_by_event_name.frm | Bin 0 -> 8844 bytes ...nts_waits_summary_global_by_event_name.frm | Bin 0 -> 8814 bytes .../performance_schema/file_instances.frm | Bin 0 -> 8654 bytes .../file_summary_by_event_name.frm | Bin 0 -> 9740 bytes .../file_summary_by_instance.frm | Bin 0 -> 9844 bytes .../data/performance_schema/global_status.frm | Bin 0 -> 8628 bytes .../performance_schema/global_variables.frm | Bin 0 -> 8628 bytes .../data/performance_schema/host_cache.frm | Bin 0 -> 10483 bytes .../5.7/data/performance_schema/hosts.frm | Bin 0 -> 8676 bytes ...emory_summary_by_account_by_event_name.frm | Bin 0 -> 9240 bytes .../memory_summary_by_host_by_event_name.frm | Bin 0 -> 9210 bytes ...memory_summary_by_thread_by_event_name.frm | Bin 0 -> 9220 bytes .../memory_summary_by_user_by_event_name.frm | Bin 0 -> 9210 bytes .../memory_summary_global_by_event_name.frm | Bin 0 -> 9180 bytes .../performance_schema/metadata_locks.frm | Bin 0 -> 8998 bytes .../performance_schema/mutex_instances.frm | Bin 0 -> 8684 bytes .../objects_summary_global_by_type.frm | Bin 0 -> 8908 bytes .../performance_schema/performance_timers.frm | Bin 0 -> 8776 bytes .../prepared_statements_instances.frm | Bin 0 -> 10541 bytes .../replication_applier_configuration.frm | Bin 0 -> 8624 bytes .../replication_applier_status.frm | Bin 0 -> 8759 bytes ...lication_applier_status_by_coordinator.frm | Bin 0 -> 8849 bytes .../replication_applier_status_by_worker.frm | Bin 0 -> 8953 bytes .../replication_connection_configuration.frm | Bin 0 -> 17680 bytes .../replication_connection_status.frm | Bin 0 -> 9215 bytes .../replication_group_member_stats.frm | Bin 0 -> 9124 bytes .../replication_group_members.frm | Bin 0 -> 8778 bytes .../performance_schema/rwlock_instances.frm | Bin 0 -> 8758 bytes .../session_account_connect_attrs.frm | Bin 0 -> 8716 bytes .../session_connect_attrs.frm | Bin 0 -> 8716 bytes .../performance_schema/session_status.frm | Bin 0 -> 8628 bytes .../performance_schema/session_variables.frm | Bin 0 -> 8628 bytes .../data/performance_schema/setup_actors.frm | Bin 0 -> 8665 bytes .../performance_schema/setup_consumers.frm | Bin 0 -> 8605 bytes .../performance_schema/setup_instruments.frm | Bin 0 -> 8637 bytes .../data/performance_schema/setup_objects.frm | Bin 0 -> 8784 bytes .../data/performance_schema/setup_timers.frm | Bin 0 -> 8650 bytes .../performance_schema/socket_instances.frm | Bin 0 -> 8818 bytes .../socket_summary_by_event_name.frm | Bin 0 -> 9740 bytes .../socket_summary_by_instance.frm | Bin 0 -> 9804 bytes .../performance_schema/status_by_account.frm | Bin 0 -> 8688 bytes .../performance_schema/status_by_host.frm | Bin 0 -> 8658 bytes .../performance_schema/status_by_thread.frm | Bin 0 -> 8668 bytes .../performance_schema/status_by_user.frm | Bin 0 -> 8658 bytes .../data/performance_schema/table_handles.frm | Bin 0 -> 8928 bytes .../table_io_waits_summary_by_index_usage.frm | Bin 0 -> 10578 bytes .../table_io_waits_summary_by_table.frm | Bin 0 -> 10488 bytes .../table_lock_waits_summary_by_table.frm | Bin 0 -> 13186 bytes .../5.7/data/performance_schema/threads.frm | Bin 0 -> 9201 bytes .../user_variables_by_thread.frm | Bin 0 -> 8668 bytes .../5.7/data/performance_schema/users.frm | Bin 0 -> 8676 bytes .../variables_by_thread.frm | Bin 0 -> 8668 bytes sandbox/servers/5.7/data/sys/db.opt | 2 + sandbox/servers/5.7/data/sys/host_summary.frm | 15 +++++ .../5.7/data/sys/host_summary_by_file_io.frm | 15 +++++ .../data/sys/host_summary_by_file_io_type.frm | 15 +++++ .../5.7/data/sys/host_summary_by_stages.frm | 15 +++++ .../sys/host_summary_by_statement_latency.frm | 15 +++++ .../sys/host_summary_by_statement_type.frm | 15 +++++ .../sys/innodb_buffer_stats_by_schema.frm | 15 +++++ .../data/sys/innodb_buffer_stats_by_table.frm | 15 +++++ .../5.7/data/sys/innodb_lock_waits.frm | 15 +++++ .../5.7/data/sys/io_by_thread_by_latency.frm | 15 +++++ .../data/sys/io_global_by_file_by_bytes.frm | 15 +++++ .../data/sys/io_global_by_file_by_latency.frm | 15 +++++ .../data/sys/io_global_by_wait_by_bytes.frm | 15 +++++ .../data/sys/io_global_by_wait_by_latency.frm | 15 +++++ .../servers/5.7/data/sys/latest_file_io.frm | 15 +++++ .../sys/memory_by_host_by_current_bytes.frm | 15 +++++ .../sys/memory_by_thread_by_current_bytes.frm | 15 +++++ .../sys/memory_by_user_by_current_bytes.frm | 15 +++++ .../sys/memory_global_by_current_bytes.frm | 15 +++++ .../5.7/data/sys/memory_global_total.frm | 15 +++++ sandbox/servers/5.7/data/sys/metrics.frm | 15 +++++ sandbox/servers/5.7/data/sys/processlist.frm | 15 +++++ .../sys/ps_check_lost_instrumentation.frm | 15 +++++ .../sys/schema_auto_increment_columns.frm | 15 +++++ .../5.7/data/sys/schema_index_statistics.frm | 15 +++++ .../5.7/data/sys/schema_object_overview.frm | 15 +++++ .../5.7/data/sys/schema_redundant_indexes.frm | 15 +++++ .../5.7/data/sys/schema_table_lock_waits.frm | 15 +++++ .../5.7/data/sys/schema_table_statistics.frm | 15 +++++ .../schema_table_statistics_with_buffer.frm | 15 +++++ .../schema_tables_with_full_table_scans.frm | 15 +++++ .../5.7/data/sys/schema_unused_indexes.frm | 15 +++++ sandbox/servers/5.7/data/sys/session.frm | 15 +++++ .../5.7/data/sys/session_ssl_status.frm | 15 +++++ .../5.7/data/sys/statement_analysis.frm | 15 +++++ .../statements_with_errors_or_warnings.frm | 15 +++++ .../sys/statements_with_full_table_scans.frm | 15 +++++ ...ments_with_runtimes_in_95th_percentile.frm | 15 +++++ .../5.7/data/sys/statements_with_sorting.frm | 15 +++++ .../data/sys/statements_with_temp_tables.frm | 15 +++++ sandbox/servers/5.7/data/sys/sys_config.TRG | 8 +++ sandbox/servers/5.7/data/sys/sys_config.frm | Bin 0 -> 8672 bytes sandbox/servers/5.7/data/sys/sys_config.ibd | Bin 0 -> 98304 bytes .../data/sys/sys_config_insert_set_user.TRN | 2 + .../data/sys/sys_config_update_set_user.TRN | 2 + sandbox/servers/5.7/data/sys/user_summary.frm | 15 +++++ .../5.7/data/sys/user_summary_by_file_io.frm | 15 +++++ .../data/sys/user_summary_by_file_io_type.frm | 15 +++++ .../5.7/data/sys/user_summary_by_stages.frm | 15 +++++ .../sys/user_summary_by_statement_latency.frm | 15 +++++ .../sys/user_summary_by_statement_type.frm | 15 +++++ sandbox/servers/5.7/data/sys/version.frm | 15 +++++ .../wait_classes_global_by_avg_latency.frm | 15 +++++ .../sys/wait_classes_global_by_latency.frm | 15 +++++ .../5.7/data/sys/waits_by_host_by_latency.frm | 15 +++++ .../5.7/data/sys/waits_by_user_by_latency.frm | 15 +++++ .../5.7/data/sys/waits_global_by_latency.frm | 15 +++++ .../5.7/data/sys/x@0024host_summary.frm | 15 +++++ .../sys/x@0024host_summary_by_file_io.frm | 15 +++++ .../x@0024host_summary_by_file_io_type.frm | 15 +++++ .../data/sys/x@0024host_summary_by_stages.frm | 15 +++++ ...@0024host_summary_by_statement_latency.frm | 15 +++++ .../x@0024host_summary_by_statement_type.frm | 15 +++++ .../x@0024innodb_buffer_stats_by_schema.frm | 15 +++++ .../x@0024innodb_buffer_stats_by_table.frm | 15 +++++ .../5.7/data/sys/x@0024innodb_lock_waits.frm | 15 +++++ .../sys/x@0024io_by_thread_by_latency.frm | 15 +++++ .../sys/x@0024io_global_by_file_by_bytes.frm | 15 +++++ .../x@0024io_global_by_file_by_latency.frm | 15 +++++ .../sys/x@0024io_global_by_wait_by_bytes.frm | 15 +++++ .../x@0024io_global_by_wait_by_latency.frm | 15 +++++ .../5.7/data/sys/x@0024latest_file_io.frm | 15 +++++ .../x@0024memory_by_host_by_current_bytes.frm | 15 +++++ ...@0024memory_by_thread_by_current_bytes.frm | 15 +++++ .../x@0024memory_by_user_by_current_bytes.frm | 15 +++++ .../x@0024memory_global_by_current_bytes.frm | 15 +++++ .../data/sys/x@0024memory_global_total.frm | 15 +++++ .../5.7/data/sys/x@0024processlist.frm | 15 +++++ ...024ps_digest_95th_percentile_by_avg_us.frm | 15 +++++ ...0024ps_digest_avg_latency_distribution.frm | 15 +++++ .../x@0024ps_schema_table_statistics_io.frm | 15 +++++ .../data/sys/x@0024schema_flattened_keys.frm | 15 +++++ .../sys/x@0024schema_index_statistics.frm | 15 +++++ .../sys/x@0024schema_table_lock_waits.frm | 15 +++++ .../sys/x@0024schema_table_statistics.frm | 15 +++++ ...024schema_table_statistics_with_buffer.frm | 15 +++++ ...024schema_tables_with_full_table_scans.frm | 15 +++++ .../servers/5.7/data/sys/x@0024session.frm | 15 +++++ .../5.7/data/sys/x@0024statement_analysis.frm | 15 +++++ ...0024statements_with_errors_or_warnings.frm | 15 +++++ ...x@0024statements_with_full_table_scans.frm | 15 +++++ ...ments_with_runtimes_in_95th_percentile.frm | 15 +++++ .../sys/x@0024statements_with_sorting.frm | 15 +++++ .../sys/x@0024statements_with_temp_tables.frm | 15 +++++ .../5.7/data/sys/x@0024user_summary.frm | 15 +++++ .../sys/x@0024user_summary_by_file_io.frm | 15 +++++ .../x@0024user_summary_by_file_io_type.frm | 15 +++++ .../data/sys/x@0024user_summary_by_stages.frm | 15 +++++ ...@0024user_summary_by_statement_latency.frm | 15 +++++ .../x@0024user_summary_by_statement_type.frm | 15 +++++ ...0024wait_classes_global_by_avg_latency.frm | 15 +++++ .../x@0024wait_classes_global_by_latency.frm | 15 +++++ .../sys/x@0024waits_by_host_by_latency.frm | 15 +++++ .../sys/x@0024waits_by_user_by_latency.frm | 15 +++++ .../sys/x@0024waits_global_by_latency.frm | 15 +++++ t/pt-query-digest/explain.t | 16 +++-- t/pt-query-digest/review.t | 11 ++++ .../samples/issue_1196-output-5.7.txt | 62 ++++++++++++++++++ .../samples/slow007_explain_1-57.txt | 45 +++++++++++++ .../samples/slow007_explain_2-57.txt | 45 +++++++++++++ t/pt-show-grants/all_grants.t | 7 ++ t/pt-show-grants/basics.t | 8 ++- t/pt-show-grants/issue_445.t | 7 ++ t/pt-show-grants/samples/column-grants.sql | 2 +- 242 files changed, 1757 insertions(+), 14 deletions(-) create mode 100644 sandbox/servers/5.7/data/mysql/columns_priv.MYD create mode 100644 sandbox/servers/5.7/data/mysql/columns_priv.MYI create mode 100644 sandbox/servers/5.7/data/mysql/columns_priv.frm create mode 100644 sandbox/servers/5.7/data/mysql/db.MYD create mode 100644 sandbox/servers/5.7/data/mysql/db.MYI create mode 100644 sandbox/servers/5.7/data/mysql/db.frm create mode 100644 sandbox/servers/5.7/data/mysql/db.opt create mode 100644 sandbox/servers/5.7/data/mysql/event.MYD create mode 100644 sandbox/servers/5.7/data/mysql/event.MYI create mode 100644 sandbox/servers/5.7/data/mysql/event.frm create mode 100644 sandbox/servers/5.7/data/mysql/func.MYD create mode 100644 sandbox/servers/5.7/data/mysql/func.MYI create mode 100644 sandbox/servers/5.7/data/mysql/func.frm create mode 100644 sandbox/servers/5.7/data/mysql/general_log.CSM create mode 100644 sandbox/servers/5.7/data/mysql/general_log.CSV create mode 100644 sandbox/servers/5.7/data/mysql/general_log.frm create mode 100644 sandbox/servers/5.7/data/mysql/ndb_binlog_index.MYD create mode 100644 sandbox/servers/5.7/data/mysql/ndb_binlog_index.MYI create mode 100644 sandbox/servers/5.7/data/mysql/ndb_binlog_index.frm create mode 100644 sandbox/servers/5.7/data/mysql/proc.MYD create mode 100644 sandbox/servers/5.7/data/mysql/proc.MYI create mode 100644 sandbox/servers/5.7/data/mysql/proc.frm create mode 100644 sandbox/servers/5.7/data/mysql/procs_priv.MYD create mode 100644 sandbox/servers/5.7/data/mysql/procs_priv.MYI create mode 100644 sandbox/servers/5.7/data/mysql/procs_priv.frm create mode 100644 sandbox/servers/5.7/data/mysql/proxies_priv.MYD create mode 100644 sandbox/servers/5.7/data/mysql/proxies_priv.MYI create mode 100644 sandbox/servers/5.7/data/mysql/proxies_priv.frm create mode 100644 sandbox/servers/5.7/data/mysql/slow_log.CSM create mode 100644 sandbox/servers/5.7/data/mysql/slow_log.CSV create mode 100644 sandbox/servers/5.7/data/mysql/slow_log.frm create mode 100644 sandbox/servers/5.7/data/mysql/tables_priv.MYD create mode 100644 sandbox/servers/5.7/data/mysql/tables_priv.MYI create mode 100644 sandbox/servers/5.7/data/mysql/tables_priv.frm create mode 100644 sandbox/servers/5.7/data/mysql/user.MYD create mode 100644 sandbox/servers/5.7/data/mysql/user.MYI create mode 100644 sandbox/servers/5.7/data/mysql/user.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/accounts.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/cond_instances.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/db.opt create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_current.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_history.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_history_long.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_account_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_host_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_thread_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_user_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_stages_summary_global_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_current.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_history.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_history_long.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_account_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_digest.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_host_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_program.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_thread_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_user_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_statements_summary_global_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_current.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_history.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_history_long.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_account_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_host_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_thread_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_user_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_transactions_summary_global_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_current.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_history.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_history_long.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_account_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_host_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_instance.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_thread_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_user_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/events_waits_summary_global_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/file_instances.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/file_summary_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/file_summary_by_instance.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/global_status.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/global_variables.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/host_cache.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/hosts.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/memory_summary_by_account_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/memory_summary_by_host_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/memory_summary_by_thread_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/memory_summary_by_user_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/memory_summary_global_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/metadata_locks.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/mutex_instances.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/objects_summary_global_by_type.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/performance_timers.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/prepared_statements_instances.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_applier_configuration.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_applier_status.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_applier_status_by_coordinator.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_applier_status_by_worker.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_connection_configuration.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_connection_status.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_group_member_stats.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/replication_group_members.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/rwlock_instances.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/session_account_connect_attrs.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/session_connect_attrs.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/session_status.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/session_variables.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/setup_actors.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/setup_consumers.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/setup_instruments.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/setup_objects.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/setup_timers.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/socket_instances.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/socket_summary_by_event_name.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/socket_summary_by_instance.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/status_by_account.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/status_by_host.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/status_by_thread.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/status_by_user.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/table_handles.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/table_io_waits_summary_by_index_usage.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/table_io_waits_summary_by_table.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/table_lock_waits_summary_by_table.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/threads.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/user_variables_by_thread.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/users.frm create mode 100644 sandbox/servers/5.7/data/performance_schema/variables_by_thread.frm create mode 100644 sandbox/servers/5.7/data/sys/db.opt create mode 100644 sandbox/servers/5.7/data/sys/host_summary.frm create mode 100644 sandbox/servers/5.7/data/sys/host_summary_by_file_io.frm create mode 100644 sandbox/servers/5.7/data/sys/host_summary_by_file_io_type.frm create mode 100644 sandbox/servers/5.7/data/sys/host_summary_by_stages.frm create mode 100644 sandbox/servers/5.7/data/sys/host_summary_by_statement_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/host_summary_by_statement_type.frm create mode 100644 sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_schema.frm create mode 100644 sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_table.frm create mode 100644 sandbox/servers/5.7/data/sys/innodb_lock_waits.frm create mode 100644 sandbox/servers/5.7/data/sys/io_by_thread_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/io_global_by_file_by_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/io_global_by_file_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/io_global_by_wait_by_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/io_global_by_wait_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/latest_file_io.frm create mode 100644 sandbox/servers/5.7/data/sys/memory_by_host_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/memory_by_thread_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/memory_by_user_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/memory_global_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/memory_global_total.frm create mode 100644 sandbox/servers/5.7/data/sys/metrics.frm create mode 100644 sandbox/servers/5.7/data/sys/processlist.frm create mode 100644 sandbox/servers/5.7/data/sys/ps_check_lost_instrumentation.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_auto_increment_columns.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_index_statistics.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_object_overview.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_redundant_indexes.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_table_lock_waits.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_table_statistics.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_table_statistics_with_buffer.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_tables_with_full_table_scans.frm create mode 100644 sandbox/servers/5.7/data/sys/schema_unused_indexes.frm create mode 100644 sandbox/servers/5.7/data/sys/session.frm create mode 100644 sandbox/servers/5.7/data/sys/session_ssl_status.frm create mode 100644 sandbox/servers/5.7/data/sys/statement_analysis.frm create mode 100644 sandbox/servers/5.7/data/sys/statements_with_errors_or_warnings.frm create mode 100644 sandbox/servers/5.7/data/sys/statements_with_full_table_scans.frm create mode 100644 sandbox/servers/5.7/data/sys/statements_with_runtimes_in_95th_percentile.frm create mode 100644 sandbox/servers/5.7/data/sys/statements_with_sorting.frm create mode 100644 sandbox/servers/5.7/data/sys/statements_with_temp_tables.frm create mode 100644 sandbox/servers/5.7/data/sys/sys_config.TRG create mode 100644 sandbox/servers/5.7/data/sys/sys_config.frm create mode 100644 sandbox/servers/5.7/data/sys/sys_config.ibd create mode 100644 sandbox/servers/5.7/data/sys/sys_config_insert_set_user.TRN create mode 100644 sandbox/servers/5.7/data/sys/sys_config_update_set_user.TRN create mode 100644 sandbox/servers/5.7/data/sys/user_summary.frm create mode 100644 sandbox/servers/5.7/data/sys/user_summary_by_file_io.frm create mode 100644 sandbox/servers/5.7/data/sys/user_summary_by_file_io_type.frm create mode 100644 sandbox/servers/5.7/data/sys/user_summary_by_stages.frm create mode 100644 sandbox/servers/5.7/data/sys/user_summary_by_statement_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/user_summary_by_statement_type.frm create mode 100644 sandbox/servers/5.7/data/sys/version.frm create mode 100644 sandbox/servers/5.7/data/sys/wait_classes_global_by_avg_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/wait_classes_global_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/waits_by_host_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/waits_by_user_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/waits_global_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024host_summary.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io_type.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024host_summary_by_stages.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_type.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_schema.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_table.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024innodb_lock_waits.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024io_by_thread_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024latest_file_io.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024memory_by_host_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024memory_by_thread_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024memory_by_user_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024memory_global_by_current_bytes.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024memory_global_total.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024processlist.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024ps_digest_95th_percentile_by_avg_us.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024ps_digest_avg_latency_distribution.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024ps_schema_table_statistics_io.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024schema_flattened_keys.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024schema_index_statistics.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024schema_table_lock_waits.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024schema_table_statistics.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024schema_table_statistics_with_buffer.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024schema_tables_with_full_table_scans.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024session.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024statement_analysis.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024statements_with_errors_or_warnings.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024statements_with_full_table_scans.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024statements_with_runtimes_in_95th_percentile.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024statements_with_sorting.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024statements_with_temp_tables.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024user_summary.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io_type.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024user_summary_by_stages.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_type.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_avg_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024waits_by_host_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024waits_by_user_by_latency.frm create mode 100644 sandbox/servers/5.7/data/sys/x@0024waits_global_by_latency.frm create mode 100644 t/pt-query-digest/samples/issue_1196-output-5.7.txt create mode 100644 t/pt-query-digest/samples/slow007_explain_1-57.txt create mode 100644 t/pt-query-digest/samples/slow007_explain_2-57.txt diff --git a/lib/SqlModes.pm b/lib/SqlModes.pm index d17e8a00..6291be34 100644 --- a/lib/SqlModes.pm +++ b/lib/SqlModes.pm @@ -39,14 +39,21 @@ use Data::Dumper; # SqlModes object sub new { - my ( $class, $dbh ) = @_; + my ( $class, $dbh, %args ) = @_; die "I need a database handle" unless $dbh; + my $global = $args{'global'} ? 'GLOBAL' : ''; + my $self = { dbh => $dbh, + global => $global, + original_modes_string => '', }; - return bless $self, $class; + bless $self, $class; + + $self->{original_modes_string} = $self->get_modes_string(); + return $self; } # Sub: add @@ -71,7 +78,7 @@ sub add { my $sql_mode_string = join ",", keys %$curr_modes; - $self->{dbh}->do("set sql_mode = '$sql_mode_string'") || return 0; + $self->{dbh}->do("set $self->{global} sql_mode = '$sql_mode_string'") || return 0; PTDEBUG && _d('sql_mode changed to: ', $sql_mode_string); return $curr_modes; @@ -99,7 +106,7 @@ sub del { my $sql_mode_string = join ",", keys %$curr_modes; - $self->{dbh}->do("set sql_mode = '$sql_mode_string'") || return 0; + $self->{dbh}->do("SET $self->{global} sql_mode = '$sql_mode_string'") || return 0; PTDEBUG && _d('sql_mode changed to: ', $sql_mode_string); return $curr_modes || 1; @@ -149,6 +156,40 @@ sub get_modes { return \%modes; } +# Sub: get_modes_string +# get current set of sql modes as string +# +# Required Arguments: +# none +# +# Returns: +# sql_modes as a string (coma separated values) +sub get_modes_string { + my ( $self ) = @_; + + my (undef, $sql_mode_string) = $self->{dbh}->selectrow_array("show variables like 'sql_mode'"); + + return $sql_mode_string; +} + +# Sub: restore_original_modes +# resets sql_mode to the state it was when object was created +# +# Required Arguments: +# none +# +# Returns: +# original sql_mode as a string +sub restore_original_modes { + my ( $self ) = @_; + + $self->{dbh}->do("SET $self->{global} sql_mode = '$self->{original_modes_string}'"); + + return $self->{original_modes_string}; +} + + + sub _d { my ($package, undef, $line) = caller 0; @_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; } diff --git a/sandbox/servers/5.7/data.tar.gz b/sandbox/servers/5.7/data.tar.gz index 64eba433447d17e93627184850c5690eed5bb0df..1435059e4daca3e3f847faba1aafe1de855a4280 100644 GIT binary patch delta 72262 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

DO*g(t=^Y!SQkgQ6j#wxkjxg1nMy;mlw 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%0A^5paJ4W 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

- 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 VaRLD(4SpK%{|D;mhFAc&8UT-;ZIS>0 delta 72200 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 diff --git a/sandbox/servers/5.7/data/mysql/columns_priv.MYD b/sandbox/servers/5.7/data/mysql/columns_priv.MYD new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/columns_priv.MYI b/sandbox/servers/5.7/data/mysql/columns_priv.MYI new file mode 100644 index 0000000000000000000000000000000000000000..171417ce5b75825daf9b8c339bd4b3923c0eae0e GIT binary patch literal 4096 zcmeH^I}XAy5JbnA01^c$I7J$u;~Yd(v~UD&!WHN#p!b0gM@ZQ92PIMX^vp`xb!NTe zwmt1Oac#6V-qV&()z1LG zey=Tn=7YJIPxOFM7OZmEb@xDN%|tISwF^`FuEkZVABl>A6XmAem$H=gv86as&Ru12 uP(>pCjao}MpCKk1&gWFZZKi?HVkQ9+AOR8}0TLhq5+DH*AORBiGXhWZYet9w literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/columns_priv.frm b/sandbox/servers/5.7/data/mysql/columns_priv.frm new file mode 100644 index 0000000000000000000000000000000000000000..7cdc335f40313ce536ef81af11f9f56d9d6f76ac GIT binary patch literal 8820 zcmeI2&1%9x5Xb*XjK+_HVrj3oltR7e1N0(VsHKAVap<8GwQC9Zg-L~;%)Qq>L!Y4Z zoKv5vC%3aPX{86DH-*_lGBdkL{_}%{>@X`WnKXc`29yC?E0Plq{Sp>nDz6>IY+9H9 z1PW20RN8Q&Am5n)6JP>NfC(@GCcp%k025#WOn?b6ft@0t(fK|F9jAsm=xd%%7raCF zK9u3Z@D>^wWyHKUW%w|?p&l5r*{U}xty{TM3GJ#FS>VA0n7~#7;pUB_@mz0L8f!PZ zt6Q3NF##sP1egF5U;<2l2{3_uBjD=z$NzP%IvqWYCxzMEUf3h?D4c!E_pe?J2`uqS zT@OX$g31~uPH0IJhvC8{tb~4WzV+0yF^L$=tEuDCdyHBiahP34%;_8HPOm=__mkdO zP*+7}&2jA}k?PoE;kdo=jA}8_oMMcac}>L_Rf?gpqBacExbYFxX2L++ESC|~Xu?1u zUGovtYQlh(srm?NHen!{%I9%r-~~rOj(R*&nd%+o4@=KM`#J`s%0brpQmL1}(&dJ3 k`6D`tD#a4AEkDFgyoNS<0(&7?*?I+U;wc2dLLp_2;z<&B_k9u}0Xq@iLUuMY z`-WxeIwKgf!yPBQFait;1F1%PPiuTRDeu`BqShat!Dk4A%i(g|``HS1{=-TiQcHe& zBb7k+!-74Q;xie$P;%82E;#e-2V@C>11<|%4qRy?1TAyv! zdcGGpgmrMF4^Cho3E>l0u#kdtr`r$dwF$erMQb^_ zJAx^Ab=j89a8rAu*DAbPhj={Az+3NaH$oYm&BCivaWZw`-3sLJtcPqh==P%09NgPM zqZ6+)1Ak3El7Z|rWj`v&!>x6;<$g5t;V!mA8AP)J%JIVC)7~ciukCmPvnVWgn@=JX zFH}S!E*`YxUbH|7`TFDT-sXtRp%hmI-QBR&i5D!R7+rUaK19m?H?_H?ec9Yi#5i!5 z1~R$%G;;TY*3M3HcPZyCwXt*)i^dtfz~b1;CphnF#USleDmd?M#bC;_ZM+be7Cyx9 z8^E*%FAb2<;FSTg8oV}utHB!scv%8(4UlsQyfeUzPvE@)^19-K0elTU8lX@n@W}wP z1p=Q9P}Jay0ZMrSUkxxJburRO*)Y9oJj}^?Gqdqk#*mpw PH43CM)2N{CsSSlc5!rrP literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/db.opt b/sandbox/servers/5.7/data/mysql/db.opt new file mode 100644 index 00000000..d8429c4e --- /dev/null +++ b/sandbox/servers/5.7/data/mysql/db.opt @@ -0,0 +1,2 @@ +default-character-set=latin1 +default-collation=latin1_swedish_ci diff --git a/sandbox/servers/5.7/data/mysql/event.MYD b/sandbox/servers/5.7/data/mysql/event.MYD new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/event.MYI b/sandbox/servers/5.7/data/mysql/event.MYI new file mode 100644 index 0000000000000000000000000000000000000000..a09e8688bc49ce312483d6f4b085c099aaefc143 GIT binary patch literal 2048 zcmeH@K@I^y5Ji7=4`v}DBC+KNZr~2W#>T=uSc#>DgE)d%TeyW=;8*puF%uGdT}k)r z`dwYA{`Y%J;9UbptZ;<`1S9T@hwUG>M-kyF|4{Kw8drM8K6S>|v%_LuoJIMT$C5g& z4)}GZ>;mXQZ_OddKG%TDH=Atb;d02Hc_o~nLw$=}b~3dqj}vLW$;cEj>7;mN6U_umC9w$*o;iez9jK;A O4kQPX1IdAZao`C!A30tC literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/event.frm b/sandbox/servers/5.7/data/mysql/event.frm new file mode 100644 index 0000000000000000000000000000000000000000..ce505673a49d08cb7fa76ac2e579e090290cfe0b GIT binary patch literal 10223 zcmeHNOK;;;6h3y6<~2gb;`g4~Yf;qzH-C{Eu0%U4f5j(@Ge>rWBwq^N=ivq3C0}9&+M+ILT=GFKaQlMeWGzACo* zAT7y&WI!??8ITM}1|$QLfs4(+Us+f^e}_xtI2eTE^9Nk`ohn>~FO}De01wg+Aq{W9 zpLh|{M6?j~{-Ux`RySTc?;qxvA=Np+mnJd;zaPL7WDbU%dys`(Cphd5f)V7P7XHbD-%L9YWv$hAj-9|j$`0{Q;1(?z@k%TVh1Z(_l(E3D-^Y`M z4JZyr-S@i#KOBx=6AEFsAFxk`g8&)XY=7X7{5H1B#zDy1y{-reAf5Ve3~jcDy`C@H zz>WrkpdEFTf#uEt0`Vi{t{}K$N8#bCSi(Gk=xz#6<&@%UDVeuUAiARx0KT8Hl*#4b z3k9y}8vu{q1jy!U58+z{ue0KiT(Mk+V->!eAh4bT$gdQO@Tm&V2_S_z3M+T+z-KDt zK3@gpZv=`t44J6#H9P~bh9Ot-2;3I{E&(i;5cp~#X(@}qHw(Z@27&JvfYmHk`2nja ztDuT1Yo)C%_;CuP1hAgp`8o5G3R~(Lr2j#noU5I{FKRN&MzK(U_fqiecHH`AVS5{V zWJs)2Z0zdhYj@$-6kh2G02xaQKuIS+X1Q_~`~_gCfE50ghHLj@3VG*%3mtQD5Ij~e zPvpzbYBzBs;qq9ud?s0bMz4G-RxXq(Y?LWKqftH+D38_26KV3fF8Py0i4l)045vxt z6^#^Wivw>F&Eb2V=D5V+4cl_-T-RE>ZhPn&mgf@wHX*y5lB#X#2vr?BwnZqLhp;FF zV_6&~%y_4GG=n31o=p^(?V83W`QxYrm?p+V2{cV~1_Dkjtzr_L>-cYaWKdJvC)Cgh zn?t~L$8O>kFQLTQC&+|DG?QtR?U=Ua@}|)wRJb^H6@AU32HW#&mr!ohEZf1hn_87{ z%XXPZv6^j}EwQ!7vtGb4530yZEW>~C>RgvPRP2C!{ zvS)G|H<^StsBrYkE#A=H(JLZkm$aDO6bYzsT`}7tuwxKYp975+Cb)g;Hjj)~ZblP` zIL&iywy&8U23zc1;@ASMXw_Y$iPjmRRSjq7)OC!i%dlySPK(Vk4Tp@%M~#RSVisLY zf~g`uatsUW7<%-Ca^g6)!*=ka8~X;uIgq1i16V{i#AKQ|Z*fYE;MU=FqgH2vX*{ng m(TNoi&xlnsEIbIWLS4i4B5s?S&Z>1(CQcchhKajS)$lJO#k!FI literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/func.MYD b/sandbox/servers/5.7/data/mysql/func.MYD new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/func.MYI b/sandbox/servers/5.7/data/mysql/func.MYI new file mode 100644 index 0000000000000000000000000000000000000000..6e039d9b68ee0f6441523077e599a14ac0fb3b74 GIT binary patch literal 1024 zcmezOkDZZ$i7}I5149bK5e7yEAPNSOK=2<-Vj=!R0Yr)giwayqhA3vj%z@D`U7=H= z1E6fMOOW_5CCD_ywG70%gUOkJ0U0xh01aaW8OX*8F$!qX1!N0AY(_=~exUd<26l$y ljKN@8W`+YG2{0Q@gM@$pBFfkR=D^iJc%$TK2n?DK001^=C;9*Y literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/func.frm b/sandbox/servers/5.7/data/mysql/func.frm new file mode 100644 index 0000000000000000000000000000000000000000..4353625e693d41e3585740641b5ba06a1258ea6a GIT binary patch literal 8665 zcmeI2&q~8U5XQervi+k7g=#NFNROWCE0mrp21<(u!AmgP5~xwyc<8NtqxCcbdiDp5gv5xG4$Fx`tWg~8pr7TDve+Q@BHe}=25emEPk^3 zZ6a9OTpKn&S)dM+uU{+zbFXU9xaRRtHx;gp23%rJcvQI`=(`h~NMK literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/general_log.CSM b/sandbox/servers/5.7/data/mysql/general_log.CSM new file mode 100644 index 0000000000000000000000000000000000000000..8d08b8db90df7f3f81fb4e04b3ce9dafa3b0c33c GIT binary patch literal 35 Mcmeyz$Uq1H03!bZ00000 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/general_log.CSV b/sandbox/servers/5.7/data/mysql/general_log.CSV new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/general_log.frm b/sandbox/servers/5.7/data/mysql/general_log.frm new file mode 100644 index 0000000000000000000000000000000000000000..b68a1ab2d754e084cd64a1102b3ab841015fc1f9 GIT binary patch literal 8776 zcmeI&u}%Up90u@@1CL$_0Rm`(Cc@~1Z=j-yxS5!^UM|uA2?yplNF14cDJP%9nMZK2 z{!hKrk%h?cb!q$Wwf*v2uOB&G%LCOMa4H?v$eN?z0ei{3lNPHosJ{Y7X`$N%+UbNn z1t>rP3Q&Lo6rcbFC_n)UP=EqEE8xKHY_@F%%j5Fy{`-Q;Ht*rt6rcbFC_n)UP=Epy zpa2CZK!N`j=sWV$f8$oVHd7M?llEjb+<4PYf0%=d6+C(Vu*OA}^cMR+;}wdo(>Q5w z*ib;pEX_3b<8f%@@q}K?P2`Ve^H?s@@hCFEz#k7#gqDS+tjR>7{4fi{U^?*Qr$-~t zF1#QbE1p@;JgETPN0BI2*<^f_RHa4J9OkfEGARh%V149d_ zK?(%9?ZHwG3>?5v17ZdSPM8Q#38Ml~fB{8~3P=PP#$dJ3P=@lDA@0Ucf%UAu2Z7B>{y9feNfC(@GCcp%kz*-V;=;vQjWmV7x*}3PS)esQ#LkIOn4&MAI zR!q0o?lgP%W-Z&`qL{#@5^&M^Xx}wEaeuWm1)f2@8DE*286Hyezbf-Q>PNxs<6MAN=uvCMMk=)H5B7X>}rhqn{OAxM~s% zpHP6%<4{d!A#GHM*U4xwQz0!`h>?0$_9`L6;gfn91d|X&_`y^^_UXZ!n)daGN-ai8 z9IcGp<4~i5%2>V6`ja%R4;cv$Hh0deRzXV}tp+tDXpbYGzcqHR16J@!a9#3<#y*Kh zK}d;hJN_XdOCG`swH3j$!rqD?>0p0FDEcHsBcvoosYqF(QBsnnoFk8ul_!-7d7Rr} xQ{v&vYlADQ-3qo+lae(StBEL>1gJ@9ngpd;ax}jo#%BDM@R?uiV#|Uv_yG&be}Vu2 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/proc.MYD b/sandbox/servers/5.7/data/mysql/proc.MYD new file mode 100644 index 0000000000000000000000000000000000000000..84364834bfa2bec206493289e26f861a628f44fe GIT binary patch literal 138068 zcmeIbU2J4YmL66t_GmTSpV4YHvzqnFimg#2lijT3KkKKbddVWQsyIz1Ib^bbFfC*y zGcU=UN@jBMW>z(KYHZk+0YAtPAPj5?hMyz|0t7wDg5UHe8-f5m%CHSvfc<8_Ea0bo z^LI}C-@m+>WOcJS$=#{WdvC;vh!ZDHoH%iQroQvvKY#q^)8S?KH-fMFy?Ucx3ma#_ zdA)Yh>z>z6TJ50Lsh!&*a`ot-B6iBps>Q>jr-#*p?aK4oc4e#ldF=V1 zyuY)tSuRprbE5F&mj(PgUzp{8=fwRb{c90F(Bwy=T-o})Ubov{Z+9E@_E|UVAN~4g zXY{|{e{V)?1!1Gty6CsMof$DBs`XbvDC(kDe977Afs-Iu918!t<(CY=Ae*04Nf_4jC?{>IT zCuj&i>V1r*Uq8k`7&H&*O{?7&#{qYu)j@$75ncq1)=4X9asE76Z;P#s>PBsA`=Gp8-8=YV zmOH;+?*VDR3aZXX>M6S9Gy5150t^FbW&hVlrq;uu`mzPo^Q8~=eg!QsH5Gz41&=7Dz%QAh1rj0#E18< z@$bVK@%9?KC*Hn`{uyM5EC0QN{w<1L_YKHXgh5{v7fK5Y_|*VGyhohrd-PB3H0WTx zwrh=6^!emkI9DFVHTB+KDE|D%nihFAN7-}s*KxS>f0ApAnj1&Cwtk<+rHMHg))y9* zRtO7!i`jPxKXWkcjpw#yqq|b)uA9$s z?=+jcGLw4;y^ArqrBRsNudbB=M3`Nk^*{An-&MTtcUVm7*N!jyK{(|8j zwfuQi{66~K$Flci&AWHCthxP672ZA+m7|>BEDX z2c7|JDRPn-*_AD^{VeMk@cM4%jv^=Zb-g_ZC=55TM?AVuS-j% zl?4I%PWYONv0Sp|gmdNLx3`^hO@HryyQ?qbVs>!~@pTsj-GWs(km1Om>e|~X&9W=n!*X7SEcQ0($Uk9~zx8AH7 z;Mal5B)IGAvA0+5zalf5t=d`lJfLNEP1KMAdVM|V!*va$-94?H_PT?McQl$r_-07) zuj7vEwORRBn+*?+>8Hi(m5QkoOKpJGJI3|8i zdR|`tGZ1wz+VzG}WE%#xO9a0xCDwkVE|nbvrcPsBv6xyuxY=&jM(0q2T@udgbmLRO$t!Dkotanrn#SVDNA1 zy{0gQXGE6Xg|@cY$LJR+nLUlaV00*u=XI&jPf#Lz+v!pD*~4UUJq+4F1bDMz#J)71 zOEt_wr~!~m-Qdgh`CFOC%|$PqKd<**&4;-8IPQK0o%SIntzGQ}!TiQ<9dpy0r@_oe z1>QW(BpoBxly1TtBNWaYX$NYkQF#lNq%Paivkj#i#2XN+NtSp7__X2IWayS2zlIa7-tYCASo;XNYZg?o566 zr|NkBSJZ|_m;S*yuJ)(mZ*b86Yj@ZzfJ=y-y~=aeeSaS({dTu=8qBtr#8v?Yc-y`vMPgQ)G4 z(eW2WQ)^ayoY|nOtJeo$b&6)=5d&yW6f-(LzcefDL`11n66oE*_VX82+l@T6=>qf1 z4$ZYN3JX2Ox@%5%ys|?z(*MdN=w@&bHAp|n!z#IfJogm_XYFspfllq`7#oB6@glJ6P0OB+W{GfwVn5RIV)}+C&O=I-M!k80- z3veG<^`$A~k=4r?2-Lk6YscC2NvODNO!h>N-W6-YmAUuU3ls)Jm%voLzBj(3X#E(N9 zx)=MW<6{cMCLJcUOC5QK~uC_9cjVi zA5aYbL{YD5b3(D-fCkAXqBjP{xMg*?aZ8lZ6q~KnAnezOd7$?Fk0AiF;tXdpE(@C^ ztvCx_V~)a_=@EVoFs|Mu?&zSkAUG1j-oaM+fT#uEYyH-F(5tY!-?;>H=76LjcQpO{&WWl%gv*M?dlg|yYlJYC&0<4 z+su8SEB#Zk0gmueuaFv_Jzrw&{;8lt!&{L93~>6AnfG2*UTe;Ym#}PmDN5YRRloqH zqk<7=9fW=X4L}$)YjgqiQq1E2c-nIhinXMFDkKd({X)Ey1O%$Oglo9Tg4NalrgJkO5hfTLBZO>%EJZk&r|VxCIxQQ`GlJKO8kwMLg*UC z84j9zxVGXowve~ASVi3!88vDvhDc+}YvZ*Qt*4thOK-|=Des{CTDqC@^kx>_0p)GQ ztE3wV^E5Jg3mW|SaQGtv*N_K8Addo8!|WKCT5MKy?+_G8*B7#!UDqkb-2dMYCAYIC z99=io{7_pCY02T#C%rSta@gM*EfO*DM3&aDQYK-r)3}rZq|{Ke&7Z69 zGZaVr?S3`-Z-tI0eG)qrPj!OiQWAkSi3k#1IRv)h{ zc_N;E7%u7oMymNnil*A{Zsu6iM>(50KCTChmX=pQC3-aSzgc6t(r8jgl01s^5vbmm zmX-y)2kc*3&$D`+%Y*=Yf5AR_6gcSi4K1Ri{02Lg)<$Y4WU4+Tw-+&f0 z=nT$_g)hp7g}Fjy50`(g&C|a|0nhVn`&qI4`SxM;P@4}erfNRmFamo9sMESor%7|6 z;>#C%ht-z?hC(oQ+B+~^<@2ljh}%axDiHrULshFW&gACI>A(t&RC!!S!H7!|E zixiDKH?D+v(pT&>f9!pMrbt@RZLwA_XuJY6J)g!83=^u|z-Xd}RG$&fC4ISaw5w=< zkp>LzZyZ#&H+BlcwPT4CS}YhJLOPt1S0P0D%=_ddjl+FqQVLyF{$?^Ig5*|IJ0Kgo z%MSmQwhyPZLGP3H=*3ZPuW!wgymM!Irla}X59IVhhKBkRs!z@6(%ys9{g64Gu7Pue zb)Fr{*Zy0hpioMPBGiuT%vjvqI4l#ps)$C3O(Mapq}gFD!UvSOVWXsYP_$P6j11jV zYJrh9PEAd;K`e_|pM|I1di-qGYeia+zW=4tB*TEz{P7LYHMi1`KD16V!&>Q&HAM0& z!Tnb%hH^rcJBgmzhDB_evR-aknxsO}XsC@#5rPtjqCR|*P%uq3@H+NiscB4+DmQr= zu_>{k&30IpoBEKA)aey8;}z(|f3gRU@PsRe*eKu|Jz9mn8a61DM=psfV> z_G-2;%`)u_Pc|2X^_Xlf*SNVr=KRi|X_*rWb2?jFsjjAsJv9HE8eRf&=pVBjYN42O z_u|sS97pWmH&>$8b4Z^jqvtYmp^?5mx&*oN6tRgq&C3NvwgdC6?mPtpAZ2E3?V}1VS&dier%rbEUyx-u(9*bNB=~2_|dyC{#NhzVZ^hz-8Jaf*qguGhpR~elXcA+WPe=~ z|NT*{o+vqpZl3@r%~^ZC4N?@o2YPsiMp1{~mCqn@&>#N_^qIUEW#k zAM96=~dg_GAb+EAJt6@II(|bSkfFUS?pz-|Mc6ckK&AY^9;8^_NI!|RdAz2 zBte+bSgZ+5Amm*u%;Bq2aE+kcvO^Zd2s!ABC$yt(tenR4ipB2SCwqrF0S8lQy9gz1 z1z`!d_bQmL;_P+YIwdTjSTkdB;&Hg|I2;%4^|*Bkg>-QV;YbEhNuPFt<}aeR@cQz-`T}P2Tf~-_nZ1l(2D~i2RQ&8^ zUVfIXhyTZM9wd+8DXMZXY28Oysc|72Le*gs+gr(}Z(D?Rp;7rxkE5A#s}c>w3DFO3 zD>I;}JAK6mk21IjuVJMVH}g+bGB^U)@sF(Z^yp!Bom5H5SlIa-(spM|rkFgoD6ou9 zoAWgNNEx+m`5XwY+IehfB8La#bcrq{XB$N*FF9@1ia9AMM9DhNBf9B zTu!=HRD6ULke(y~9X}b`NO6gr_~Faa##Iw_`iY1T3$;Ni%tOdj*rJ7udV*CB$I9Ay z{VVdVd}5rD=>?31Vei{Stfj`QppW{B#-GFfYQF~X6jf0DM-+ZpfJ=>hs(p4?B%ek5 zrdYTKyB_jOtMSbkdU)@#xQ8;(qDH@H4^IGCK#AyQGBdgdNmsW9*b$ieFvJ0MO zj8;rVB!bbJdmxDac;fWb_b)HFKT5lgk!Ay8b-aR<28hcHg=A(8ol1iw%VdKJFFTF1 z`SSrBD5+nGpqw&!fPsTFd5jsrs7xMMy*G4?0caVpWSMMe3W}V7^B!@JGwD@GDxT#%)oq z1#BA|@OeEf!v=8!G4R14!DsoKJi~jN7fZfHA+$_vWS%*-v|3I5i})fuqYdxXzcKD! zKhEJ{G^@51T(PjTFFO3CbY%~EJ(#sJ@0LI9C&X2vd<62Nez2cu!nqF)4By{YLp7C09SVW?^g(Nm-VrA2^&s{={Du>}#pN+l~`Pz{)} zp>2v5S7Tm*cvBh|RJ7R&F)A`nmg9EI)3;b9<@`dvIoyDJhSzi*Zs;1a_K=~h20!n% zypojaphho~i}%>~J+TshO0LSE-2U*3SPK$35>Yf>#R}K>wW%TsVYk;8*zVzqe^G~* zuS5{Nt?^q3HuToikQHbqC2T54PtgK2K&J#fMv7SE5)2=;oi5Zt&EP9?o|1$>B2X7Q zBwmuGI95#oy0bDiw8FCu807Kxr3ezWPrF_6)JgzBU-H1g%159nvjL~tzwyfVT%f1Ob+XX>?vh1T<$; zbtDzVHfcrw$&j5Hly&+22;)E59P|=M1lv|1|Ev zyT|UW6!hjNhv0eAA(W!6FbddX1q=%hGE@>pizHzW6%b)XcF)+n#;*i8b`0GuSk;~6 zw+T8srL7pQsgn?7@SJ)hC?U2a?kK{u?x5Wih~U#eU>!7R7&|3yd`5hb{wEeooRufN z#0L~YhrJIN-ed90$kLgMt(&>{YFS!XT)Drnbbs-YSX_R*{OIw*^1ZnkaWA%5R!a{` z%lFS0@mYP;Yr{_`hRuQzbR`HyCx>RtT#V?V>NDB1}Uv{+I{#f9_itIBKBPQov%0HNB z-3%j+D$f+##GV)ZGSRxR1BudbVMB=Ob|Mm;QUc*zj)O8UE|xM9G;>;X8C44?Rc^G` zLKTQ;>*Sl`G&Iq-1-_nDn!hSVNwR{ZE6b#+T8M9vC~T$->XS4`vP?E8PwY%y%J}S3#NjZ=-XIt#gQZR&I~SO)ouL6Zq)duABb1+SG#lDTb6WX z8&_c!n%1oGS&QCyx;9%bS=DC0YrUFHU2)X zc1>5lqH;|u0*w4S(XCmn;6%4(*4hZFwclvXnqE&q`(P#LXe9RWnChjb&XkBNpIZ`xf??D+6&i(8q7Gt+SH^|Qa zVa)ri2Veq>t@5*tqa7KvmaSkY=a($^#N2VnXTB39lQbF`Bz1(WR@WqY2-1#OKS{+j zfRZ*_1NF_ArQ4xyE;?FvA3<%a$W>6X{7S076^q@iz4=J-C)*;e8a?%bUkqTn13jDW zG;Xf6Q~ybqY=r0u(ePUhDEQ!2P!iiRcutpd)*}-=Y?5T?S|2lxk)Udma?_*H9%&Gl zN}}9``tXE;7E*p4ojBguS*v-M9cE==rHk~dtPqra^a-p;8b~PkbpO2i2x@rBp@uke zp+}g-Su)}#+Y;8=HtOgVdWUz=^g&X>jU9jF7nH?4XredUh;h#OgF3(fWf=krIS3A%>Qu6S)A?od=J@og3g89VHC4PFfgr zAMipl_oGE$@64z*4r~x-;_7^o#xFK2A&zs*hrA^0&?@tT#?y6x3a>BKWHx#hTza(^ zgQiY9>9`bS+D3ol+(MZXM|q-1gzYbO3y;VpK+F-0yv|dv`>FXBl7aDhioB;Q4x%B4 z)q|S7a3bzbM4!r%hUjPfk|IKm>3J%68^aCwresEb((gfMx<<)u}?b(ca>-W(ic@cq+4(7P0SpUjB`8TMSO1w?V7v|!Wu z5^ZKQu2tI7VQGfVU$csHvJjrnyq!f~NezqDkn?Wh){7i>rhc&a+2cQ-#X;10~ou$)jrG6%hI5XXn?0{EMPVuC#2o0$16ZC`B#IA*@b z-EJEu*HUidt3EeBtZGIY47mU!g`n}Oork9!Z{7VQw>_tm?#I`y09q?`^-X4TrXLFs z(sV!3g=RMhDY7Iq@3dtM=jxSQfd)#<+J2+C=7OyVHa zVU~VjL_p4(8%U{PCQ{A_k9Zdr_#4m5HO`0hMD{^7;fV9^8V_nc0pkgHU`**1#~XhJ zGB)d-FAIGkNj{1a1q7OpkL)K&y<}{09eBbnr8o`dDuh9{&) z3Un5;3(UU{!SmPh`lXsP_Z8Oug0Nmyb_@?U6SL=5=fuoGn-9gJT#hsaABoMKJ&;cXrFxu(+N8BEAt(Zl@IvtM1()xUkK#|Bh((kL z@l{$RX{laf&MqRehHxPaG^>iAR%!rxmXyO^6W@w zD82MaAfMw?6$E6QM0t4fST|z|879bivlxkdb`%#d66PZvo#2&wGSe$gH5}zn9?T-W zU@7`23~(*N=OJ#CR19@-?;^Zsnx#YXy|^V38OqR?7K)O$6b^{g_Puy+br`A;40W>O zW@CpIwLRD)1;h@0S~25RM{XQ{`5eo3RPEL)KGsW=5w4{aL`|Y8Y!>>3Ijtmt)`h4E z?qR|i;>F%)Li4vn=Rgp3+IuUu^mb+MN1a1KynGyIbclE>PcIgRI$XR>a9)$;Aq@JZ zRn{mdYxvVnr_ZN1 zpSFOc=pWPQ_0ZhfaGEVlO^)-!O$#X_u#nd9{S$Mu)GT z-wLi)Beym8@b5y;@jKod6%;*=c-?Z+f8QdV97G5C$1_BhEEp0L2T0qO7g!vOG;E|q ze`M#cf>|c@zC!^+%Z@;+WV2LIdrqs*yBnVuX~ctY7S(pQEBa|x z%;TOzRt~8mWt`#TKeEV8V&`4FK+8y(!V8Z(VNC?iB4FKVs# z@nT8Nk@)cw;r1C_U^J%Ti&EFqoJUb;&`@0Ocl-5r4dxcesL1ntwT{o?4_ID|A&t;g zcuPtug&@^uD5hdq{4shAwPKAZhWfukIjvaXmsYy}rfW(+iSWEnib#m#OP!g zros5E&P4!xHwA+3L>vOBYANyUGSG#763vTI);IZq+`*j-bN(* zPN2O^N?pEvlnN9KrPk#Mwf0-+W^mZW7zt)m>@B>{!hQ7OaEhJWYKa>{u`v?Nrr6lM!fm)ISR8(_wK%!ix+xSJ zBf)HnjomHW3W^%tW}LiYB$!RHu{(xa zL9xRxxnO!Zq1dZZESVFN^>CGJI>n(jX_l#Fd`nMQqomPnjGhQYjKH}Ks>|1Qz_(=*YAw^>_Uv>FKW6;S^<>eVY`1)+x-p@-nwTszqxL~qcc9923A zG)IrpE^r8G^;$al`fkV-*x#o3{u+PR;b!y2*=xvc5J#{j?V$w3!Pl(GJw-4x#`ZI= znLPzaV$=EMhvy+>VH9F%WdVN2Kf2~WG_(8=hNcf5sCMv#X5ht_;}4Y|JV52e#Z_5* z8U5tS_=1=8X?2A^tu4`)jI0s#iE6E`P_0KxT+4&^XbE4ImKXWU0=0zlc&4{&kNmf5 zkMMSRK@Lin#WTHKS@X)`nchB>{e+b}jR27G2JcsvmbtWjk2myw&F=@E>Fp!GA9%*w zRW*saA9$v>5Bz@M8E@AVDouMc3H)<;6@hdNyIfq;4~jzq{5kpF=E_9-QJRm)44JIY zL_I|C!l7AJ#PJWITDc7!XC~eu@LrjChp;!z#5?3RdWXyu!4QVXYb365`nP1?shB2H z%XJgykjnGwi=t$=6X%dVZV4R^rV(}_L!uMkkcb!4#5d&Yaksk;VjWF?9@AZZ`?>1G zHRRhvtTFP-6aivt%iBP#!xiTfz4_O8)8k00Q86G!ewoC2E0yNMb>y&0>%=MKYl#(g9fCld0JG^eW{`gy=yl=~^6gPzO`{5h(@IzVu%$DNNp|bzrB`NWPCZ?t$A{{b#;P;F)@sXzjn55&bqEXiSPXtohiWNOMOkl zh{C{EnNb!g=|d!4)X7|5*OH*77AB{UTK|kvmvc|xYErHsG=1TV@*&xjSN13~rUmW{ z-}C?`@U{SVHJWPHem?0AkZ6h0T830e<)U0~cTa1_NT!CM?(6H}FWNQr0!cZMAJTaN zFAYjvtFkC;R}PV>b+=rpmXY|lQr)A>kMR-7Bv?TY>F&-czf&zl+Sc=WNsc>I*;)4w z_BN3Xb!YpqTHD@2L&(ukDQ|Mp+3l?&(BOHv1pUDUs4Aq{Qy45pYM_ePIzZ0MYI%2m z?_lHL3z?RSGGvxNM>|NG2uw&?1^5FbHz>yn+ajWfT!uVVt)_Uo{Tw3}M-@t2THcxy zM3y~CD)En;n5vdkjgU(|QOFJ7Ii(*O(wjP>?8jQ6JnJ=H0kKcW8{6%L@hY6ZjS|;( zx^mg{y2wf#B7c0mEPpZ?wqs53XG)UT>VQ&XpJk@KX03mIA=8Z}^u{fN>BC?+pIIDO zr;9Wi&EPBKz({Iq{{TxJGx|yS3sE%FqLIhTU{>U%02GJATQ&*EGN6Hsxg=^znq*mp zb3Yn3mFUpYTz@`-gMp0(Cb20_0WU!D)40oNAKQ%X1kD7bVsSLUKfRY!N4=0~gH=VjM>4w` zK7=Uq;4DY7J3rZjG-%rvd-TMOcHp-Rr`nq4ml&okXZnZ%D>69TDVO()z=Ree6*aAg z?I5_2@{c7*$_%aP@k3FJ5#oJ(M@M>n@FL=LOwhKmd&oM(n-&PS3i)Gu^YEViy192$ zsTMz&MHb?q!5NxDAQ;J4OB8xJRG8^cGi~Zpr{Q=P~tg!vG&E&FBD_oJ$&zAt9(H3BC`QG{BYBD>)y^@ zZnjt~?hs?PU^|omqGIP;{=HJ`R~?GpCF)^Q2e~iF%_mBWlu}9&c*sqnVlL z#DLK&{MZpNYQXt-x2u#(T`xZ){aU>9$#D!2mUT;(Pv;mYW~c>-WaGnki7RV{vWV!j z7iH{3%!tqz9I{le45Bo<0%j6VES87iu$OeC;R2Fm8M{@q0V<{woyv80ul)J`&Ib7A zv%Q1ejp~!19D-{i?>Y4a>}ns0zc$dx;H!&v9sH1MGu9Xo_}S;>%_GQGZUH)ZBF*+5 zOO#0v&=(xGd^wNh(6|uS3))?rf=QNZ(rHgiil|>qJXR`^YBo(OlqdW2v!QMPv=}|( z>H{(N;`e&pZXa(N_4Zje>>vI5XC3K>yddMIZR&=V9Jf?#@Bm_;Myz@v2 ze-SiVC#}XzEQmr05fEm?XJ<%*b%FyCMT|gkEzVJ>3EsLWUdNjjPTw6IQUlbuh#$C_ z$~@6NCH}>nI0=I03`5%5W*)Y?wJL*gpg9VM!Qm<{dfi6QMEDCZS>$1-2pM!ppzjx5 zgzCW9=FpWoLSod>y)*oy_gP(Lj=$ol`=*5orvVZtBH9Rs*b6SYy*`bPf_}{KkP&~R z)d&T#2q)Y}3R3&joDy~j$w14DX`X{N8%=}xU${=BLJqKG2l6g1Hwcr@L*pNvL=ESdv+!$j13VW4EySswO5@QXnU3NfyE zc(jkb?4s9t-D(Gj^+Myk7he$zAKl}+emD{%L5iY2*Fsk}i|8IzbjlK`!bz)%od{Hp z+?bc$fq2s$w40*cdd2;$ck1oSKjSGfGFB17yN1>ooFAhi=m81rkuDtF@6s%Qeo!%N zh1~UGGdQUa+BmS_Yh6H5G3WqvdT0>?yxO1t)iO*0!` zv+jYK7LOa(CMGj0?aFb0dF2`Dk$7x62pWX?QufR}Xs7gyikyR?ffcqd1>)Xx1bACd z(o+-imOlDw1Q_@rP`ONqnXyLdV?j_vs;;VudOaMpdejbKzORsA`~gT0hkc|JBxrHUY>fL*Z#v91T=|D;1oUOy2>xokq@-S z+_3nl1hXK_JV!9KLc@U1Hz(VCbgv5Dh z?HdShb;@D4F0p*^f|)Lb;kuO5vbcu-K3G~QEk8iyESi9~v=2bjLl9_3PeZfo6L9` z?Ru}(zvRUkZG+kw?T;s$PUd_cm$)d0zl?429<1)`F+$OPe4a7nxs z|51hbca4I%LDmjVbX9u7{X70s{t9{wvr2XQvX}mo8As%`c|Yp-n7tov@9yKejsMfR?fHOgtwR~Z7QwWWuOF@ zF(wu4GBLzBQjylEPAr9>_4dpvCze9J%Pd2niKURT?uZ#^urZLb(V)A@iKP&(nApHe zTcEL(-^5Z#^5IsKFVlBmhAbwQLfUND+W1Jz5@SZBg=t$rznNGH`F2|qOQCVie6C>0 zqg8toOCe?4Hn9|vCfnC#DKxdQp#)N`sC91l+QOY!SJ(mqqx z(Wr?;HR8D2C8sRuDD`Y(=dc`eRhn}wYQ6rMdJ84b!3h=}*0}e$b&Ao6K__gTl1GYe z%d3&#k(B9U#almH-OxRN?Qw%v4RpMlM+b*6WrrD^wqjHkcJL#JnIC(e1gc!L5PO@# zMjumJpnn`2bXdp3%0UYwRPbkQN)qwp9(jjRN`VZMM3k7N>SRIZoGZz*L7L#xIbpul zeII3D81WR&T(DBDZCAF+pF0%*W*#N(lTY1HSo1`u($+t#$@vi4@&N7(Bp3{9nDRVY zVDNy64as;ENMROU1yqC-kmM5v>%?N=OXR+q6EtF&dY^OwgK^FO5Q4~*iK&_#Fl=iM zrUqq!woYgOaC&%5dFoXTecJKsvYX`8XZ*<$; z-jiO?EDV9i3Ta?EAHY-GnDK8!TjQa^EWGy zBVnDa6Ki}Ard$xfqmrhWC>jeT`6JIiPyQ_1{m!NkDn`RTLz+MnNGYVtLZp7eM_RqwE1Id{+GQ*P zi{m(#3P&czG`qW8#JMc!J!@R)=V8TpR#e+ZD_Ve0d<@Cg6=rAQOTG=4jCa8}Iz+W_ z*%@VkF;imV$#4*{!x?9E*~8Ne&gGA^2ia%GYnBEx?@1Ujp-*Ph>S7|<3&Ruo2(Gj# zuXRt50F+GalcaUdpc*L%IucyN$n1V6J@HyeeyF1;mMWoq_xR_q?@_@JlAA__Jubzo z!m9vqCDXbCjty$Oap0pT|NEWOG9RP}Pg15zszC-RYdu~dDR_Nd)|wMe3Cg?WKB9vK zDXK%ZCO`go&vc7on+ot4ZBa8>gf+Q7Eg9&ol4wBxPTe-c?w|)hiBagE;QFrXSEPO= zC&0oc!RJdKn}Lt&cIBunUVu~Vz%7H$m~>ow2G`In_EUOYg{D?0Bn_a%J5TTIV^#NOO+4&IS?!Z2pl(JK=lQ}g>1=4B{(}8t_ZUK zI^zXojzA98x}xRt;i65y+5tM_E*;3I?yXa-?$@dUQ-3v@mKHNt52 zko8tdY?djFnb}tMJ}VNNH3fGs;b%rEu0!%!gdJh2#05Vs9~?q9Nh(Y(k<8gm;q`U> zE)JSq`WUVTy}nNG;w9w{Bl{pbVRxNqhaoriR7urg=;#jMXI(o&BnaK>Sqc!MPGx%M z*{b*Jq;erkTN*M`y0-3gmpCx#u5!NNDr`fML~%68UCtNg;Ny!aQy0x_B!_>Vkc8(& zu3(@>Kg&gw+6s;7_waIp!8Yaz?_6as1ukI~m;ZiFtU+bU(NJVO4S3JOXqt|Ah+XEF zX-~!~9JYhdqxLPO2Hx9;u1slEKhi&N z_uRdBEOzz~v*}s6y7@wXkRIKy<@zMNx`MNc6T|TNOph2}pO$r1hUstt+EI4OoG(CtxQhE)PL}hojoW}%n&u@je3ooKgh&Leg6M_gdq>r06u_lWkgG-ATA(3Fg3q?gJ6neW0TMR$5i7{Ee_3MIhZ>~_F% z+4FdR>lqkIatp9IAKn5A4QZkB94#d7g?5HP75OEvZ=2)(U;6Es%J7@-A#hZW?ypXI-E;QJHjecI4#ngp4JTxdgGOElv}2LSIef_(Fu9jr zt53J#l;k#C{A~n8XRGUg$VL^rUgYW zWJCZA+^$LnyqnDW-uN zm+s?;RX{G@a4KJ0Afs^dH%ATZae7yFyvSwKn1mNj`~!|3glX%)!Nm)=XnFwCdLn~d z&9ehBT9=Kpc%mY{rMPH=sxTDttWF?brf%g6PV)mvM*_A7EKIqKk{NMIhvJk2WfJ7B z^i=0qh*&m=M4+N*(nsfjChgYrrOYtn@(pz$N znsB^OOEbN+?;b(2qH=qPI7=IUnY16=GReTUkJ-Oc`jiG=Ic?>Z(U(?@H%&Uo$QO(u zhL4EnQKUxR$C0t)<8EYJ`TgS7Q$!nwh?f=?SMDz?-Ctb0zqI&x@!{i@MWWo%@fd5} z$0{93tQSty&Bw2t?}-QKOHMul^F3V=&APALn>0yqX_Y0vcaL_bH(xvY5#DT!zjuKC zn3zoH$IF|HekLCki^*a!897|G%u%a{vU`+`5yG-|_Rr(XfdvGn^l-5_B9pCw-}AplGAdE0}*ythjE56&KU%2u57rgbf$2i7OxBRl&REy20STgj?xBS8x)?0qTOye!TXb#)0nZm?$Yht=3O;RSNTg`WCy2WOO zj^$RO;Z~a2*2HMbcu}a!z}RgRIJ#>o3I5KvQ}VUKyEHd*FE@X4jJBqy|A#xZ$A3Nz zPsAS~h=LS=l<`UJ7>0GHJAWa7Z3{l zi8oI-Hb0^4P?ard1I$r^v{j)o$iT#|v(gNicn3X>uh71VN-}?KRGN`QH1w-uw4v$!JeMa{e8~wy80PMO3@U zkz|btO${_tRmT7LJ zRt)NB_+^ibj&o^kS)>%Nr$IJSvQUzR5FZ`Owv$7Uk%S6uZJ3Km-riL|{g?j5lnNI0 zAI0PxD}3C|`ba$UkC|seq}1zE$B1IC`TykRnzqR#zA3e}xwxq9%2oKN?atLX>4W#u zIjL=jY?Bcxs*_|lJt8l)C>WKS+M0@=%Bw0eV$a1)In<6L)P?z&s>MRFKni)+tv;Kh z=)?*!Yh{wh@R!9^w0*C!U0z*vyFR?GZ`%d|ES=5PnbC#~m1a>?H}~ha_aXdIa`_Id z^t-)RVtdbNe@x67TN|11DCohpr`B&=w4mVTm{-~OydDm{=!_#JMmlR-t}W^}i^blVe(!(L`_>=E_APlRznk{K+pi$#bfniU z<>ys?M*l9yex*+S?6+u1GI~m952`S1Bi$Im=R16_N%njkS-zKzUwu#d?^30EW>lvw zM3o{jOQC39whOvW*q#!kdF&&$GL2t3a%m4K`%!FfiQ@jj-e&pma0fZbDWUf2V(&9}Z5mjd_|TF3Ro=&R;a)aSTuzhhQ@CTwCc~xeQ6Gry z1$AV0N!B(baYD@qJh7c5_Qs&sLu4ywhVpF}YJfO(RuEGfF7-fn5w{zuT|yd~*w&gp zfVbjG!yQR9zkN&f&h+#@n^L;Rdxp2k4KPXdn4`>fXdWq?$SA5u?Hd3l^)+f9e-+m} z%8sxvVob^A?9lI6@t8V)x%7@H97hVb^52x@=&BtVik_FTb&g3KYNRE5Rh8onqr^K? z->Iu3^k0uIS8Q;s7rC4IX(`Ph36ote1hR3`BWo%B_Gztr&_l$D9$_DAMI}9RjaGPkBR`#nf+oU-8&K zit<={__~|%%{%lZDk=Zp9EU!631C}{DJcnkj+SyLHm#;DO-)%=K9(8G*Y@Y??DrqW zwUn|4$oFc(jofr4rQ`>h9C$<(rQ$Fa1tV)HGZ@Yg{iMfq7Dv%eCNZ8X^XBW;VWy$> zYAVbObm!&oxz(3RXx4l?FMl6f%b9?_%#Ck|jxz%}s%BX+q>&VyNhq>vjqEK@m&>&U z{)Tb!>G%F;tq1)3Fv4m6p)CNmE%tEY2FWT0$50jmYsJ)W3RwV(dT@+m*R&T;B3BNv~$s^0VF zEzUdBKln#l@A-Yh%iOSjcavWeC;La=)pnISinR*$nVtNJ6HCYlcoaO+W?6cTfSrh* zNWtz9lwI8mxt}T3Q@xFR1z||`GS%|uPHn{Ut$NY35zn^#`DS^abnW748EJUM;r8>& z#*V<3!zw~f!psaYc17V4QkyIm_*Q8bcOe_k%Qb>cmYy3O!G74H+hEd129G!OkW()i zbg}o+ECnn>&^JWAL*O}zcV+_l{V9w@5gb&<+Z;D!_aTL}-Ky>EZGHlapUbf1bpZLE zREAR*i7J|71hX(Ojjlu)970C3jiA{^2Cd@yBi1m293$i(#;aIE`%>Uu2zPRrLTnR$ z)36fHn1iLnIY1~~Z{A(6pi$y|yFpSDZn)$zQw9guVK_gKe#8_V)BOyrN_w(%&q}`6 zbz};v_lj#P7^nRvc_2l~8=M#Y5aGH|!|0pBgd}5?ja@{KD_1t2?jTI63CSwEq!m?& zXs)4Qa>ofKpAx9oX~5}bQovqQQj;QKg+t{^@ijGEuc;Uf*_&>#9T_|?UX7tA6rEQ| z%rbKYVGzstHT$1R0`f!knjYw-I;>@TDn;%HT~Gwv1+>+aCxZFEIQ8US0f=eQD z6HpqK@Ud{z)MZuGwtKx~ZooHmOGzZI`>%Mdd<1rg%3Um^lDYzrpU`!S#G5_D5IMU| zs*6H{N2Yhv!6c$rpof!uMjzm{;9UE2)OA0hiP|t)h$zx%z<;B!m!?e4%fy!$^3@b!cFO#6TLIKnsgnP?m> z$l>G+BYEKD3^O^yOwKUK*VH)81I40B%Z zGy)yVCgc1tIm1lOFftKQ)*0r`^q>6S`p)f#M(F1}619F8>Dy20NT}lY7)L*mzWNWf zza0E>j&TeTD&2+nr{B|xY?7j7iXl?|j*w1J9lq&UTBNfqRfj8afzxbJDl+fI!5+?l zs>CdX5Kt+1RL4|Csz@%N14{2f*)kqe+6+X^lDbL``l-`V$iCy$j3|-#S4R)PX=;F@ zC}pVHeun0BdL@Y^%8`_uUCDkYt;@y^bkC$Vk5^a6P>VXPY<*tY1JC5GG*wHbbgnw# z9pjBU5A>=3+)f;gdc3pxK&w-+=PA7ijCzH&jYv9T^nRJOC}B=hYADAhNZXn4W>V!a zj9cN47=gt%lw7PqCXG{}5RW0Mu0ABas?SIy(+NS^P+5dEufQoXLgE_BVvCQ$va;MM zlfOAZOOXi@$84-`S|Fq$qiW&UPoV#4iSjN26ISQE@?>+qq{B3I0FZPKK z(fpM^Emx`%W6zE%?299xSpB$lbWoO$tg2H#54N8_FCPHC%+M7~b*ms5y-cX6z8r48 zDDQ4Ci)UR9HUjUD(t%s@Do}_Sl%ThAxzgUi?`DxSSQO(>3NhLQj@jaA{7l2T8RZD5t*}vGAYrsq^UV) z6=(=a1T`9jB;pwjLK2}k5DcG_bit#r3wT^SL?DcThX{l*@DPD81|A};YYcjbKo|oL z5eQ@8Ap&6xJSd*6sd@}NL?DcThX{l*@DPD84j%M|H8y{!`Vhv!gAZXGJopes!^7BO z?2X?B*ORy|r0+_9K<8>sN15za zuhj-gsVD*HqK5>bBB1=P61a@&RFpX>bucd2p3PE<(KZ4=!D6g~_uN_@UwL^PxB8A^ zzc&bGzkEI;K1lyV3URvW%PN8!Q`QhX7L2pFjsf0*Y-u%i%y`?(PtG;kS;Zt#r$U8 zc$zGpxr|u<;qSc@W!KR89fSFJL^@y$7QLu@Hs`Xg)b>;EqsY9wY1R}KH|7K{^{Qg z_eM_EwW+hDCIHAXhe-Uk2Pr(r(**rc;&h@C3k*C(g(VMBbfmI>5%mowDx$ukHz~@i zgrfwvY#9Jee13Qd2a7AgBTPj9BI6|ugs-fkH&<6x-AGa$MK+3Qsw8<5IzfO5l!Uju z6Vi<1Hr{47+$)4j6 zv^@viT_b-6nHh+`cuya1wKtUVK!frGCL&Zu8!Kpod8B7pUw5oe;G>4yU*`qx@fNre z$BcYluBMvk%M2f~JHA7nY#vZx>f!gO`l4J(_7d>(Te+v<6t{w;3Pubbp^kGj%T-H} z5k|LpP$mnJB!36D|0=G0TGlhEVfkn{G&8s%08P0ZFrC28WsNc zu-P575m36@mmaaCS5}G)iC*?f;hbmWF*_&fC<^xnD4;nu=^5OLwc`y?XT5B|){Ws- zoH6PAkz6Rn)#oqbu0DrgsZuwtOjCT%9?IviZ&#-{L}KFe`W*Sz+z^K!-zh{n{(#A{ zKM~`eU6>>$S?zj@oquM;{f|k6CGwa!0l|}LG$){m%z)_6ht9s?u~J*f4O3~){- zeN^v4B_|b1=z)4iZgt$I(mKrP#dx*CRjKV0`|e>}dd3_-wruc* z)u%N8UJnxnZ}xou1Y93+>#$jsv&-pEkRXuypdy?B8yZt?STZ#!>-g-xrm4d%khx(a z@R&OV9fh@HgTjUm*nrzWvhoEQWKo`?)XCMPC?kY`F;owZc3~NeC>atDoZR%P@OBt?RhM6pYZ5nOUU9Rp6aMGIB$Nsg?@ zT-H2j!%9hLZYji6S9=oRKgg&Qo7?@4lQb`@F&H4B7#}SAei#`MgMX=f}u9Cb)aTH)rpehysmCGCrXZQ ztCC}S`giWAynIfuKUX(trMJ67OH55qO|?wQ8KrTIsckH^TupVBuA})U@r-#HI+~_U z$&{dtp-6;dsXHvB;|`L7DI~D50S&TwiSN0z^bpFS#C@=9w+$xS!wjFkR;;= z>d!GVa@8@et@(Y@E`hGC#6-hY2!jnMqH;OZe60jEefI}@- zB-x<-Jnu^D=fv`NUlRpf?H1=p??Sk_jkh@Q3mdJFwJbGzUD{(Gs|Ki5^JfuUQ@Jh{QKu z(9Rr{#V?J~Ly+b;8a<#%`AS~>XJab?ZmZMjHjn4S-s{?VJwzybWm*8ZPd7F{d48~W zgcx1&MAGYa`>?)M_oAi;v@V_@=-~}3>kpQRMgQY}0)FF{E6eIYlsQit9!-+^?M;@u znK0G2w)`bE42vyR^)hZEG*ZiVAk2kszV9cSSywXIoE^U(j! zmwUZ#&#OTXPOY~xjR9TGaD`Y|e&JPUHHT}koeCNW4(1bn>Qb1DrG$GBn|2^m-TCm* zD2L*|`7TZbw@uwSIStg0krd)xm~Z*A_l-Oa+?k&K%UZYjH?6N5={EIw#O(ifhZV@w zY{tN)+QdndL(^qMauLJ_JJ@`&ap0$e)L)ZQ z;BhrhQ79yb-mc&zvAaPTOlvZvaEUF$a59zJKUqUsos$YMeny6ZfMS;v9oXzgQ+Pid zoWr>Dl2izYF&zJ{ta1>V&5mx2lzV&oaBnuFhR9=n!;+_a@mNqIM)9m%-F#s`N$1no zHC;9(ou2+2GN_237(aBXut(Mb0NG<( z-5zR~$bUt#{2o)>eZOV4{imZtVhDb}lgvo{>KN7M<;^4X)+AB+WI{}_xw8lNSA$tAqw0}X)f#Nd^sX*2SmsMY3Z<8YA~C>7*M9zoxWu4a zkT&ZIhypC$w2)o5lVG<_-l=c^l_4D2+P!{y+6zv>F5D|3d2cA4Z9DY~C@%X6{MDK5 zY(*)Bdo=W94v0Dtu!`_F{C?KVoMmh(`XAD^=>wd9w&Sz4MvjqK@FP`d;TjsbO|i0~ mahg>lszbyHQeKV@iAre7!Wzf&zdA6E@(ux+i~eOli^no!T=)YeuxN$EVwf179x5n3KkA;+7zZm&nBZ&a3+~ z=G~GqHBTVDq{0G}df9sDimL$ff$|e90Oc`!M)9%x`!SRaeI>A7;yg1777U|)2@YE? ztlP>|fK8MtyEUOSmeRbJ@3z(`yY*CA6RZNE-=@}DQeJZIHVd!0jc^8NT3lc;B*4xP6cf}PAxoa#n&m9)xrbM(?o##BYGS9EW+ zJ*JHa*<{WF^;E%Ychk(o6k&u%N%ItB19#_8y9(*5)SrK(6SI1>m~=r${`Nrc3Y|D( zC&?;xcYgj#la@txR;#hUOX=k(tl6rnsGTVR=Q_2@qKrA4(;nOsFwq;>mC_#mYRXFv z5^)x4q=Ba@bX%nEGal7qCy@DJZ5z)hhD~;@-p(^)0){(UJdy64I$8J3K9?5+ULNfP zo?oMktB5<`u0Lg(XROf;Jt-#_b$NJVj{1SfFvLZNCJ|8Bp?Y$0+N6v zAPGnUl7J*|EeR<2<9`KI_(t4-a;oANoPm1!i%9njDyQEnpb-VQ>zRGx4fwSz^$dsQ~03KI=g(Y|& zZ2Xbs!YwEdLVT!fHr35{FZ)kBuByZbcxa+F8IBY5SIbY15?F?f*-;XuhiSx$2O8+3 z;pEZr@KJ(?Eb6nbM=T!ZLpF?}WH!ScnMOKeagrz5IGv=kJdI!#eI(IwmgXm{aJmMo zN5gD5W+OC!bG(LeFpvB2yI!Q8o$6Ayn!#s(h0s43vV=8!m6Lb+8 z=Ls~?WI7%vlN^z>qOZ_(gz?!d$yqc?h2BDaIvNf0bUI7b=r(V~ZO>islBfJ67(D0+95C{Q>5N_(- zpK1>(@TS^;r9UuiQ$+cqG7pR8Z?-;u2!|Ein-k@u&=SIv=Y(79?T7GA_1vPmf<*q_T%Th$LEd5#Y^P#mgDn&oI)z&j!Qv&%3LLQnU&O-VN{5>#v}@XU1&*sNMts(_91?KXba5q4F;EBR z#P&_L7dintFnhM+QRcg(L(yBnLZ2Gkv8@5?hL**8o)fyPJrH??xUOeYgZW`Q@JLw> z>W1kt(`Frv8c^;!e$ex%sKr4ei}JoNCPw={?~?~cTe#Y#1LnAbhp2%Cq;1jX1+3LF zo(cT{I@rFy&5N54?iCe?btDWNwoj}O7u)P}>N!Gflg_Sh5r2nKzeBKg?gyUP2^c1g zl#5``G=fFW6=JJfn6GU!Fkg2WAkKtwIde*&!aoDvP≈fTM;ctb6 BXd(ar literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/procs_priv.MYD b/sandbox/servers/5.7/data/mysql/procs_priv.MYD new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/procs_priv.MYI b/sandbox/servers/5.7/data/mysql/procs_priv.MYI new file mode 100644 index 0000000000000000000000000000000000000000..c2f2996d8ba1287487cf777a41b975c7629b2e1e GIT binary patch literal 4096 zcmeHDIS#@w5F9%s5dr}P5;Z@7uMj~)3p5l|NIZlu&{II4-%x>gLBj6F4nYb>jdmoD zH?!-pGg%fJSUbQG3)~R_7D)g`E?h&oL(%HhOuUoEFP`4#+wR?_`}xe(^1{luANjPK zXY3`$VA?yEg1jiVB4WUDDTR*^No05#U6-yuc|2DJf^}mdc3gttdlg znoo%iT-w5iHP|I9#-P&xu846fZ@Ex+#a)8?U%r@-3WKg-q{4oLPBGj8GF4~-nt&#t W31|YEfF_^`XabsmCZGxYTLKTrMoH`d literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/procs_priv.frm b/sandbox/servers/5.7/data/mysql/procs_priv.frm new file mode 100644 index 0000000000000000000000000000000000000000..0cb08515f96f057aab04378645ef3c697a74d52c GIT binary patch literal 8875 zcmeI2y>8nu5Xb+dEJadaz^;RI$l{EhVxUjp#!Bj<{-_cUT^cwk8yJW`Aj?6sY0rCf z$r^MvGIYp`_z{vR>`{@0j$T}NxLd?KibviL5Fq|>FT(RIpd^4A@E}8SGLzrn0=Dr^ zmazv3RQ>?_%fP__P+dCwWCBcp2`~XBzyz286JP>NfC(@GCcp$Xl7Mu8H;_=$T=Ydk z_j`eR$mF*f%wZ+hf(A7dl3%0|P{dAtNO*Mt3k#Y7oa9o{U;*6?o2`2IRUb$FQ9O<` zO|mh8^%BrkHYTuU0%FbiHzj@csXA!gG*9ZSSGT<0516wv0Vco%m;e)C0!)Aj{6_+J z5~bC*+v!H*3-x^#sp=#eTo10)rJAn3d;{MU)Z=iAN9uYAt$=ipExe~wcCnkC^%kBh zciye~e~tp|kK<`fZ4*}G91iT>R7I4v7>;N0V5H7Q{h^{gb3eYBD0px)%>+Jt1NqGG z#WwuY!B9=({&0eV{fUGbBg>GzP)mkweV!xLX|jN0*J?=hnk=wY{4htV+nB&U;1>7x zkm@%jh$qV7xyK8n`c1aP_k%BJTX1C=@|l)w`;`hh7EyW&l&K>`n*w#?T$|GLzjft~ wDJoZi@^W-ui-tbxwGU65oi>R^ox`Bf3j+!UKh?!7R=R!_tEif#eodtD7x?4&tN;K2 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/proxies_priv.MYD b/sandbox/servers/5.7/data/mysql/proxies_priv.MYD new file mode 100644 index 00000000..f71742a3 --- /dev/null +++ b/sandbox/servers/5.7/data/mysql/proxies_priv.MYD @@ -0,0 +1 @@ +ÿlocalhost root  U”[h \ No newline at end of file diff --git a/sandbox/servers/5.7/data/mysql/proxies_priv.MYI b/sandbox/servers/5.7/data/mysql/proxies_priv.MYI new file mode 100644 index 0000000000000000000000000000000000000000..3a1a46a340cf7b3b1904e4dea28d4dc78ce23ae3 GIT binary patch literal 5120 zcmeH|F>=B{3`M_;4TK_4P;mq*C^-j{iYkPH!ZV%$j*=#~pdgn>ks=ibNG4S%asZ69 zmUc|x3xNKNt<{%S-hGYF=MEvEf9$csH!>i>JOOJ~%9}-1h;J%Yl{3^r@*X=H7gL!z z*0Rp+YC3?;wP<6WUKdMUw$aE@`s{zA zM_)7#ZVLyF;RNasChP=G(UG1X>5mTg&|7c_k16nn4o-3AFIPXL%F^4(2$sxdU1!?D zyF@(A#{7t2Yk#(GyV6&%U04f(Xr**zg$51ODw>wM%gRmPppQ|s4`88` z_C4xbIGssibSLdf!ktBudoqN3J{XuBX30!50c06a1m=9ku^PMy1JG32SZQ>Y5g-CPMS#oy`+abHvZU;bdGi0BVG8cO zsfQvG-cO(;y%!cJSjan&^1hX@fT-0g)l&Uhl!xtmw?7m+WssVQIRTNU5eou{g^TSb zg7ug}bzEtbszH^F`64BIM1Tko0U|&IhyW2F0y{$BhT{)=&%@@(9_9zb{?k}qok!=+ z?%1OpvGT7r7<5eVE@O`wKa0Ll!%_G=fuZw*lkL0uU>@log?T Th)okwp&W>H`%wTCH7@WAy2Hx# literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/slow_log.CSM b/sandbox/servers/5.7/data/mysql/slow_log.CSM new file mode 100644 index 0000000000000000000000000000000000000000..8d08b8db90df7f3f81fb4e04b3ce9dafa3b0c33c GIT binary patch literal 35 Mcmeyz$Uq1H03!bZ00000 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/slow_log.CSV b/sandbox/servers/5.7/data/mysql/slow_log.CSV new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/slow_log.frm b/sandbox/servers/5.7/data/mysql/slow_log.frm new file mode 100644 index 0000000000000000000000000000000000000000..01c4ea4f2d74cbaa05af9b426fa00a87e2eebdae GIT binary patch literal 9016 zcmeI&y-ve05C`yo8!)NU52{iSWuU--7!WWZv4H>y*pQG|qe3F62#uN;C<78Z4**ZZ z+V^3=oEwss1$FFj9%}pU>{!3G_nnhf3z*FT+ce=sART!d1z_52SJK!lEoz^@Y8u$u z0-EWDXBJ=q7GMDuU;!3j0Ty5Z7GMDuV1bDh$V310w%0)}`TeJiQ!Ky&EWiRRU<522 zU0fy+V?&+PsoSZkKEfZRuFKy4}SEVq-G$4@cJ&<*pN~9 z6uYtCQPgx%9&G$x>%QIbJxEyI6&zH8R;=81hi;_FqnFF!rUXgxNBS6L$|%I$z*T-v zp#rIHBfsUD#FW!$fO z<6s$BG8GmbDU>O&HWHB3Q6knUYbq*K;Z&$%Lky1;%^jN~fs&LGI|2=J#9Ue~(8G2G z&IS+Lr+Z|*jst;1Q(;qu9zyF(Sr3VI=BqQ@WR=Ql?@IqQ)fuSHG<8a;Ge?adLoADX literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/tables_priv.MYD b/sandbox/servers/5.7/data/mysql/tables_priv.MYD new file mode 100644 index 00000000..e69de29b diff --git a/sandbox/servers/5.7/data/mysql/tables_priv.MYI b/sandbox/servers/5.7/data/mysql/tables_priv.MYI new file mode 100644 index 0000000000000000000000000000000000000000..486c18e3a66f34da5bb15bc8e20b2c2da791c202 GIT binary patch literal 4096 zcmeHEF%E)25S%+uqA_aWL-Z+zSlMc0VQ1n){DQrO_WZ_1eF8YQ+#w_ot<6qybIaT^ zEOU9D7+7m?!3GcX0E;w&Lm}Kkg-3ZbZRzNe77fqf^KB1qtJ8YvYnib299p_|^Evo+ z-Y5m?3p08QoKL@J#cl+9l%htl!G!t_L%TP0AR=7JGJ#hNGAcJNRLY$7p`m0{&Y~EM zW8jGdugdezo7%cl!vCH743PMRZ7EJ@Wt7RpKe zrv#M8g9$K!zd>O46H!I~L(gybH$r2lbHD_c025#WOn?b60VeQ|6Zk1m-@ko(rQp<>P4rEC!egL8-5xdf zE^4})c-cm=y PG@MT9=^rk+cNTsD@+}@2 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/user.MYD b/sandbox/servers/5.7/data/mysql/user.MYD new file mode 100644 index 0000000000000000000000000000000000000000..205eeeea9038962d06d9e2ade265ef6905c1dd0c GIT binary patch literal 1020 zcmZQ(C};dH{D(6qKRGccBfq$Wr6@nYgb5#D6wR$HF3gF~ODxGOON}o`EG{n3FG|s5 z&@yv2wlH@C5|+j;PL77I#z4Z<)YaU?+|*r literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/mysql/user.MYI b/sandbox/servers/5.7/data/mysql/user.MYI new file mode 100644 index 0000000000000000000000000000000000000000..cdfa9bcde2585351cc2f0faba911321cb4801e58 GIT binary patch literal 2048 zcmeHFu}(rk5S-mR;bCLrFBl_*vE>VFO^B5hN?`$B0whvc;6GUV4Hnv4`Yp!7lEQ#< zcl!*FP(owgBzto^vv>P$^A?My!09ty(8mW95Of8Ac9vWts3kb#z0C5ExiH!NFUDvsb(cFOV;`Cu61K`u6#=j9K&mie8@OuXrsZa6y5{h z%qvjA0rgK5_>yk29A3$(yD5S*DsOf$JE@3O(IM<({|$NU$7fZ^F()>X;5~XgkY|uq z4n6*94w?>@Q;LN(b~k}GH98V*Q|1QQ{F#0jEF!ZaeID9uRB$#UGDj=`}#Ub5VB zKwOacG>9vl_#}vZ9hPCqqcR(aiOCO?MQ8&Vl3FGdnteFPF))49~-d zWxnlEE*+OjP=%*3ylof)z7>JTSn2ml{pZg6+zCsd-teOsUz)TTtJ`c@jn&wAVw^%Yx`Yd&jyx=Eim? ztUfd*d;Xy@-4*r#v`G@=twR`QF~|FX5u3aDnD1X$$j+O-^{(h53rmH@#*u9$xj@T2 z^1wAB*W`NyLf}q{EZ4E~8>~Vni|N3z4~1V1TIpTPNgeu`SLi3P<7FLc&=WVmK=q=_ z1ZPup*#K?hpcoV<;H}V^&GOb3T*-yuqC|md6|+%`BG-tI0~j_)}HCju%QOsd4qGuj-7oQ_a$4VW%&utql-%c-ImlhaBni*N&z^-w~|zKbrsUB zO8l*Iu&kHM@C86sX@heAX@Cj`UlLH|;41=Z9DGecor7-((CP@jB|zsM-x1JgBKV$w zW&^*cY+uF| zG|&+|OTe&=;3@%20|YM+pjK{t3NI>rhc8=&LmcHEj`ALl13OJ6JSCx5hrJ#=P~d|T zyrfeFsC88pa5uioK?yIZb4~Geyh0Dg3k%~_g^`lNNIhYsm@raFSeAKshGazzVWfbt zh3dg*>0m|OVDqAZ*Dh2Hj3O@=Y+fs{*Lk5}^D2?Yvsfb7!}*@kWRD{*WO`wfG@o}` zWOOn5+ujFX8O`XqV_M_p>73=cJUtPKoRKUp&a)KG7V>v$Wyw1| zCmC0?J(Px-$ieK9378cLHOszpKvOTFS>9!fNtXe;$?*R_jIG_g&ECd(#3tJt*TuV-2eap literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/accounts.frm b/sandbox/servers/5.7/data/performance_schema/accounts.frm new file mode 100644 index 0000000000000000000000000000000000000000..f56e2775d5590deffedf48bfdd57db5971dbc365 GIT binary patch literal 8706 zcmeI&F;2rU6b9fwCT@cSQWY#FhIZ`Kh!YT5Mg`HNa@@HW=pi^1XW%G|Y+Y+!K(RnD zFoOEO#rBKk=X_)G4%z9|2{6fkN(StaLKP?g-LGduaw3z9XJ9@g77JiHEI3kt0u-PC z1t>rP3Q&Lo6rcbFDDYw@s50Yv*rUzp5MSww+zNRsHesJni9x0u-PC z1t>rP3Q&Lo6rcbFDDZCul#-wRM;sY)>~JRS4|`lEhczyt-d8*5T$%ZAKZ?j{deb>C zZ4-Lgb^#+8yYb#NVQbr_aW>qwO@}ec(1!ZqOETA0)tAj4rSzeb-V1&I)ZZ#4M#dPt d0QN?96f>aF(uzOby=-TR5*gK}~CW;(i&Z!-~DgNZW+7@z*9eq+z^2 oJTCCQS%xv{*7~UAb(qWOjHJQBv2C0b{G!m1LSAf;e|$Q}9sQmr@c;k- literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/db.opt b/sandbox/servers/5.7/data/performance_schema/db.opt new file mode 100644 index 00000000..4ed6015f --- /dev/null +++ b/sandbox/servers/5.7/data/performance_schema/db.opt @@ -0,0 +1,2 @@ +default-character-set=utf8 +default-collation=utf8_general_ci diff --git a/sandbox/servers/5.7/data/performance_schema/events_stages_current.frm b/sandbox/servers/5.7/data/performance_schema/events_stages_current.frm new file mode 100644 index 0000000000000000000000000000000000000000..59e43088b77ed31c0d7d6827a6ab41c19f7ebbfa GIT binary patch literal 9103 zcmeI2yK>V|5Qcv#7t6XtcI?nV5f2qrk~hdfI*Bzzl1Dm_p+OxbB_-oDDV>svccJ24 z@&t4o_E;CosnUfEduBY^{YI-@e{$#jW4W((fRP29(giCU?XevUfjyJXS~j9!@(Va? z!O015+$MZw18jf|umLu}2G{@_U;}J`4X^<=zy|(V12%Lwo8E*S<~18jf|uz_c3;BJTh^#6~K1t0e~q7{gh z{T&vqJG>?v3%oG94|MJk`1bV8@gom*;i`EdMO-B@J!~jH$V{1dAA!u`s>=uP>Npdr zgo8nuzb_(5ZGDxbvZzWW3I&&*w@#@T9=tla7Kx(4!|S|wS4DZcxROf72pS?wx=k2z zfN^HB>~hmN#AKVPj|+)icRB@WczaIY+M$Jyy&(aw2lfL369UWTj)501t(TOX(V|5Qcv#7t6XtcI?nV5f2qrk~hdfI*Bzzl1Dm_p+OxbB_-oDDV>svccJ24 z@&t4o_E;CosnUfEduBY^{YI-@e{$#jW4W((fRP29(giCU?XevUfjyJXS~j9!@(Va? z!O015+$MZw18jf|umLu}2G{@_U;}J`4X^<=zy|(V12%Lwo8E*S<~18jf|uz_c3;BJTh^#6~K1t0e~q7{gh z{T&vqJG>?v3%oG94|MJk`1bV8@gom*;i`EdMO-B@J!~jH$V{1dAA!u`s>=uP>Npdr zgo8nuzb_(5ZGDxbvZzWW3I&&*w@#@T9=tla7Kx(4!|S|wS4DZcxROf72pS?wx=k2z zfN^HB>~hmN#AKVPj|+)icRB@WczaIY+M$Jyy&(aw2lfL369UWTj)501t(TOX(V|5Qcv#7t6XtcI?nV5f2qrk~hdfI*Bzzl1Dm_p+OxbB_-oDDV>svccJ24 z@&t4o_E;CosnUfEduBY^{YI-@e{$#jW4W((fRP29(giCU?XevUfjyJXS~j9!@(Va? z!O015+$MZw18jf|umLu}2G{@_U;}J`4X^<=zy|(V12%Lwo8E*S<~18jf|uz_c3;BJTh^#6~K1t0e~q7{gh z{T&vqJG>?v3%oG94|MJk`1bV8@gom*;i`EdMO-B@J!~jH$V{1dAA!u`s>=uP>Npdr zgo8nuzb_(5ZGDxbvZzWW3I&&*w@#@T9=tla7Kx(4!|S|wS4DZcxROf72pS?wx=k2z zfN^HB>~hmN#AKVPj|+)icRB@WczaIY+M$Jyy&(aw2lfL369UWTj)501t(TOX(G{90JsYQUegt$KU?>Y#F3NI!v;of?FG|*x&FMFARf53)=$8ks zG(ZD1Km#;D12jMbG(ZD1Km#;D1GP2aLhpLh{R607T5f7@-~=<3-cQpwN=B;4Mq?F6 z+oq3e-#Z(m0UDqI8lV9hpaB}70UDrz8X5R><){AvmjfSb{K(Y9%6-{+nBffDL5MZl zzT3O}??(|d;LS6Y%GiWAo@P0k2-HF)d67i1LJPrYI+s(HN2$Cy%;s^CPhyo8Pthco zd5bWfBsS?Fj1~_z3FMjR*(MEdI5h1#O9`;aWM;#A{KB;bn!(-D`IWmja)mO@(F%G! zyt=qGz!%_$0^TgpHsIX?9RrpY2n_hJfHujsiLLjU^**q!rq$J`x|&m0Lu&j1BVc_{ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_host_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_host_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..f299b1f3816616e5e7c1e1ed12cdfa82ab0afabe GIT binary patch literal 8844 zcmeI2Jx;?w5QU$Y{5Wyp2qG$qP$D6Pk}^wJNRaGAwi80-tK?2N3!TXq<9wBr#XK=t`K;#!Ld3~D^+^x0 zUO)PzFYoA$Pg?D#cSz^KRvO*sGOH2YZ-WmxOyr4WXrmJihqzU^b08GZjRj0R5IQjP hK+l1t2l@_dJYZcwdq`&w(QGr9ZHBVVM79~n;tSyaZ)N}h literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_thread_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_stages_summary_by_thread_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..5c607b45bff998357b07a0241f7b6ec89d7a747a GIT binary patch literal 8854 zcmeI2Jx;?w5QU#jh#k9d1Q8WQQX(ORBe2*T;=)d3JAn#cg`N_LhAN_@%ON-u70X!U zXI()Vi8syeep<`(zS5pACpbR>`VMd<3)ZsPlS66X>^#hIw%M=Xd+y+3_{TyA zK{YM3O6oL`*@;jubzarE$~3wNhQEyZBsY6+;1F}2-ORE?r4wD{lRKTL zP0{vVhd~20Km#;D12jMbG(ZD1Km#=JhYdXW^3(qxhleg!h<(W9!(;7Xj$>>FAyx>w zeth=ROA)ltE_0p9*hHuoIxVVHB^n)slUXTQUZ_mI80BSB71Km#)xDY)2oNRH)FnMc zYH{n5zPzIzT+(Wf$B@dsr4+u-WmY4+UV0ajT*?#4&_*YWV?2AfvLF!9jRd?nAh6)o i0X+-e9niPn!vV%NXm;J1U2CSGF13=Bh|_Q>FJhSHG*{?VI?9 z0u-PC1t>rP3Q&Lo6rcbF_EO-2 HFWle2+6+OeHK+nZa#6}M0w&7BVEBt#R(p3V9;v4icfdzEQUS0XATBt($t z=qM>DC@JZnT2W9?Qc_YPDjEHVD)3~0fBOHAuMXX%*E*lzpu1+>fWZdrO%`RM+@~Rnf_xuqWR~T~TQky0OXF?gGaR|FvT)6k zJk7i$BLm|VAv%*uW*J;~VMZ1itJpu!1)?Dh(l=Il#x64&krsqYmS!|2t1Oij6B_&5 zBoP@^UuaXZ;>9E8XLMhtZjOd80^<$9$OOhyt zdUnFHZ4$8{2SwA2(fiLW<#5f?)LXJL`yOc+Jx)?+Ik@nWD2$dVX*5dWi!}F6PcaP^ zKuV(kDW(ZE%UX8ntwUr3J&%1X4;tp#dXooX3IV;viltE3k*g|d(KKZ%q0s4ewaOpG znC*~m$t>|A{qr(Pu59 zT?Gafy5#Mqiy@x!R05_6@U{dj(c)czImQrq3pN{ zBLUL^_)Y@W6ySRa3~vGaAc2us${!^#7GwM*fr(hTUnDTK0e+W&EmjU^&K7g%Ar{IJ zsT&e-1+XP>B8PEP27PWp!vYW<3*^j$2&t9r8xeDB}9 zHft_BcSVIC^3t=pWY|?19jcPBYQFbrUYj&8eYv_72FDM*nM=l8mrGZ!qauYH{g_K; z%%5>$F54bZa3ON=pV+ HvHJ8kfO*@Z literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_statements_history.frm b/sandbox/servers/5.7/data/performance_schema/events_statements_history.frm new file mode 100644 index 0000000000000000000000000000000000000000..2531f220d42e36813ba01b98f9038a216532b962 GIT binary patch literal 10597 zcmeI2J&fZ-7>2+6+OeHK+nZa#6}M0w&7BVEBt#R(p3V9;v4icfdzEQUS0XATBt($t z=qM>DC@JZnT2W9?Qc_YPDjEHVD)3~0fBOHAuMXX%*E*lzpu1+>fWZdrO%`RM+@~Rnf_xuqWR~T~TQky0OXF?gGaR|FvT)6k zJk7i$BLm|VAv%*uW*J;~VMZ1itJpu!1)?Dh(l=Il#x64&krsqYmS!|2t1Oij6B_&5 zBoP@^UuaXZ;>9E8XLMhtZjOd80^<$9$OOhyt zdUnFHZ4$8{2SwA2(fiLW<#5f?)LXJL`yOc+Jx)?+Ik@nWD2$dVX*5dWi!}F6PcaP^ zKuV(kDW(ZE%UX8ntwUr3J&%1X4;tp#dXooX3IV;viltE3k*g|d(KKZ%q0s4ewaOpG znC*~m$t>|A{qr(Pu59 zT?Gafy5#Mqiy@x!R05_6@U{dj(c)czImQrq3pN{ zBLUL^_)Y@W6ySRa3~vGaAc2us${!^#7GwM*fr(hTUnDTK0e+W&EmjU^&K7g%Ar{IJ zsT&e-1+XP>B8PEP27PWp!vYW<3*^j$2&t9r8xeDB}9 zHft_BcSVIC^3t=pWY|?19jcPBYQFbrUYj&8eYv_72FDM*nM=l8mrGZ!qauYH{g_K; z%%5>$F54bZa3ON=pV+ HvHJ8kfO*@Z literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_statements_history_long.frm b/sandbox/servers/5.7/data/performance_schema/events_statements_history_long.frm new file mode 100644 index 0000000000000000000000000000000000000000..2531f220d42e36813ba01b98f9038a216532b962 GIT binary patch literal 10597 zcmeI2J&fZ-7>2+6+OeHK+nZa#6}M0w&7BVEBt#R(p3V9;v4icfdzEQUS0XATBt($t z=qM>DC@JZnT2W9?Qc_YPDjEHVD)3~0fBOHAuMXX%*E*lzpu1+>fWZdrO%`RM+@~Rnf_xuqWR~T~TQky0OXF?gGaR|FvT)6k zJk7i$BLm|VAv%*uW*J;~VMZ1itJpu!1)?Dh(l=Il#x64&krsqYmS!|2t1Oij6B_&5 zBoP@^UuaXZ;>9E8XLMhtZjOd80^<$9$OOhyt zdUnFHZ4$8{2SwA2(fiLW<#5f?)LXJL`yOc+Jx)?+Ik@nWD2$dVX*5dWi!}F6PcaP^ zKuV(kDW(ZE%UX8ntwUr3J&%1X4;tp#dXooX3IV;viltE3k*g|d(KKZ%q0s4ewaOpG znC*~m$t>|A{qr(Pu59 zT?Gafy5#Mqiy@x!R05_6@U{dj(c)czImQrq3pN{ zBLUL^_)Y@W6ySRa3~vGaAc2us${!^#7GwM*fr(hTUnDTK0e+W&EmjU^&K7g%Ar{IJ zsT&e-1+XP>B8PEP27PWp!vYW<3*^j$2&t9r8xeDB}9 zHft_BcSVIC^3t=pWY|?19jcPBYQFbrUYj&8eYv_72FDM*nM=l8mrGZ!qauYH{g_K; z%%5>$F54bZa3ON=pV+ HvHJ8kfO*@Z literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_account_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_account_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..7a542bd7524ab706cf602406f2cdcf4c7dbf4e9c GIT binary patch literal 10000 zcmeI2zi-n(6vtoEr1{|{c77JA9g2j6m|F1{^lD#Hx3L}h9NNt*Vq#?M$Os!FBO?O? z5(^VzWQ2_gF)}jMygN7XOCltwgoM<0QWU?>^SwKN@4k_e+-0e`y8+;o01ogC?qYD& z%5`V}RCRQF&K$hxeE>L|gZ+Jgy?MaztN<&(3a|pK04u->umY?AE5Hh{0;~Wl@ZTy> zhHNpnZ0`oN#nbWyD{xH(x-gaTD2f9Sx-wPnu?$3B>drMQayM3h6<`He0akz&UL!$>6}hC0}47Nm(E$T&R{euC#M?7$BxX@V^tj4843 z9&t{|7PNJpN#vdy3@xxUkZ~Nv3fj=p(V2)tKO8Htp{wIKI#a0_jij4M4>y6SVW7hK zLWkTX&jn5k@9M&??&`);V5c+*rm5#E990}mq=Fu7ucogueHiGBk`o**9nB__^d#~_ z7{Jadk3~3^d3FdLk~InV0*(6LEr^-Z)yR2q{Ic$z;u1Nex^hK`t2Hzzijx!<1?Mpp zO5u~$@}*KbktZ9M8IGN z!Dj-79RyzqsOTEs38*>6LV&P{HDC5IP8+q;P7-Ztbn#$LYIn(Y`FnGj(X$l!-tV2?-Tlw+NlET!!QHt6P%8lJ;|(sb zF};coYyzw+>-vn6|f3e1*`&A0jq#jz$#!B z_-7R;LN=dU-kKxZxC{z3V8oMNoD5kMa4CW#K4fOyH!s8T?Ha8DRspMkRlq7>6|f3e z1*`&A0jt3OuE3)b{^@^-uOeK7=f&H21mdFbWq$Ty1RX$x*Q-LSS!~_f{lg2^z&GEW zWyFRYPfwJ(VV{c>Ho!M6nes^rCGdiH9HmmEECC0qVmy>-IOK^uVPT3VFRH^ZqQr$N zyVs}0!#-?6i4PSOXAlR+8bcX81$dIgiGT`}m36|BD2)07s?bn&5}ydkdOaSbyo;}c zj-jF8Q3`d^i%%F%3wt$SM?D%OoZ&+<9gbu-6gVn79B=_m*jjc^JuPS}kKh9wPWHxw zfxH`s5wu}@nI|mjbK~tmop`ka&cSp4Zfo?MrX!o+_%lavjJs4L(M7-_+^&vBags{h z6r9J134tpsnXMAaVdmi&!3;quaqqN(8t7oIQ80>S7^04s~)EW zGdj72_=d>oo-L2-xT#I3u8>mj96eM@{_` z0h?=_q7y#UW}TcGX$lwAbp1Z1R=WTtpbZ@PwLc>&4PyP8*z zY_W7?i*+MgEE@XRdBxC{DHpmqs}dh{VFkfGRea z5F;ZaBO_vAt9f_V#4m}Epi>d=q{x21clYl6KmUg$cbTc|-U4W30Pf)her93OvLz@3 zumY?AE5Hh{0;~WlaAOt7Lb6<2 zviA?RgZgA{>UFHs6k7|VQ{WuF&IcUl6|P#8U`v{FTM?FFF6yqEbP^U zT|LwdrNBXP*ua$cGN>tn*O#Lus>J zXp*c+;D(qvt}5Bi_$A#vh4)Y@{@oTeNOk23A9t%~P!L8jZVIkrB9y`>E7+}4I$_sQ zw1QcJQsUm3T`<5DD_aHqARhUBIg6(X6|C6hBOC@npJsCTled7UZZdOx_bwHlxN-XP z%moIA_^Iy$6r4^6?q}ghgA#&b9l;?1B@K=VC~GhwprXNy0H=oFApu)@md6BCs|cPD zP-`K0Nw6b+ox%*x3XtUQUTNavCjMY{+jcypgm1HF({;8!&Y)O&PiYV&hqgwP$R+ Z?!J_gTE>a!yEM5hu;MtA-?Uo-zW|;VcnSaj literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_program.frm b/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_program.frm new file mode 100644 index 0000000000000000000000000000000000000000..dc8462d78a0f07fcae84a1f1dce2942d6fb959a6 GIT binary patch literal 10369 zcmeI2zi-n(6vv-Uo2L2w!%2q}sT~*?sS#7&HXeg+t&bE2EZ+RgEJGd z%Phktz&cHLGuFaE_Z@)9!2UkKPBzi+S^=$qRzNGD70?Q31+)TM0j+>mKr5gX&Dj&`;?TJ#JUeZ5^O8F1vRVPHfL1^&pcT*xXa%$a zS^=$qR^X~Ca9+kA{jcz4;^~Di<|jM?ac1tB29$ulc}}4ZhEnCJVRcRG=FVSUum-i@ z;7~YG9NnJ^JU!8vPv>85ON+Q~djd9~>I5@Cio?j3P=;nW^Ww<$gp5yYH^KuLP0#f? zsX)^{9&=K~9Q%}$8nhQxBjE`@3ZV`b)y6(^k~V07MGcC$2^MuJ;udCOt0HbggKAF# z=SVFBI#4Abqzq&TU8vLS#FoD6k3+DaLvtCNgt0vup;%%Fy|jjcA+8vAAkPw~Hm(x0 z9vF@Kzir1hwQ{7u+aAV|H;spGh^w>@CL+Y`*(!$TkrMPM5{e1!d6>O!;K{yVAA&;!p1_Qw3Kjrfl7~gmC=ugAG z0Q_XYU3@hWlxofeykTIYYFY5ufCI`XV@A1&;0Xhp1fDTaA@H1mDuEXa)Y=GMGElb= zykek1;57qS!h*L9vg`mzrsfVD)z{UW%2l zph@@gkbxGpeZ)Y*j4d0du9nTn(vpSq$b=r{+{}_?Crg%XELrxjyv*FLRI!5bsES4Q z8{bm3i+QxTg=4Aesa>gI=2dF4WK=mJm&#|EMJe(JzgdZ;W}|S?X;xrvGd!f|3W$}# za7>1f&WqNPQ&vma44O(FTohQc6BS?ek^~ZQO!ACoz7x5DpG;-oh~Z3%MBQ@|Nq0OJ GGJ#)n0K+K& literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_thread_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_thread_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..77b75a8de68bf015dd95cc15921c9032bd643f0b GIT binary patch literal 9980 zcmeI2zi-n(6vtoOHb3kp&hJXJL#s}Rp-7AjaCI)J+t`kLPTS2R{{VjgJ0l|_3lbwE z0|OEZBO@atBO?g&?yjj{5+T9XisvPMpLc%u?tAxL+WS>;_cj396@dHr1E&rw9;Xfs zfGr&!ELa;~dLIEEEx^$c!2TlOUsiw>UZqcEnV0lqk&P~zekaY=~>EnR1t1ZM`r zHh3DyG)+D9@ra~B{r#7js0ukeG4Gl`tEXPg3K4wBGTv^p_mC^~@N6iXm z2}+53XLi8=Q>@c$UJ>AG@P+`dh2Sj#+jf*%A7ItVtLvazAA;SsReM$jW* zYlvW%fT~{pApter`aJ^b8ayDNq1W<|09Q{N5Kvs(y(qn2ltwS~nJQggEL*%-_II&t zZu9N6vrS}eZC)3iHo=miOQPLeMhhz&@&_NU<*bPfUUl#qEbU8EhOU9!7?)yg92>7% Xu%x7xu_KzVOkNjQvYpAVd#-@r;M`t} literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_user_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_statements_summary_by_user_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..726449415410f04ed04904c05d69631c7fc18b13 GIT binary patch literal 9970 zcmeI2y>1gh5XZ-dza9Jh9f`O|1Pu~WEJTR}o4d6!vG1(gbCLq-Bt%J<7sw;<4!i=Q zLZU%bl$4Z|REQGgnB9$iV_Qfh6%uojbvM7+o!$HI{+sh&=Bk5R0L>i05N~kq!18j+ zPys0D@L@|lz*x*gB+i|-0{`R8?}mgMhfas*U_nnf=Mt|(15m%qwrKEVlbDX>!#&*q6gQ8=nNno0$2*xgKDWjfH)86~GUTryfrr^&N$5!v`pruD3)@QeAl>z}4y-6h?7^i-Pl*3#IVQigu}# zPS|;rtYDU)l(=?g6$~)NDptWDOeTRZ&l21ZK2+`W5st&qrdb{pp2m8B6v?gS%Z%RR5bWZKvjb;1k@S`z7nvbNBKrT zy^i2J0gX0-p9HwN#xDYzx<%f}X4)Dc*dd_3i=azDr-xubKz9$pT>^S71osK(>lzOU z$Ttx@BB0Pm;1f{PuRkTAq^BMeP}bl%0Tul&FA1pXVP6rDYNw}}&C|@|soqYR!P9kj zr|Z^E*L`jJu1swr>uB@1w6h7;yqpnj3P6r>$7rKLv@Ak&%%RgoGFw zkysdEV`OAxM8dqgYwDLoNU*i=EJgAAyz{$v-}84#?q_LxZv&uN0=SJ|FmzyXIaR0u zZ0Yb|!J2r}`2cWl0S*rV_7?$vvjVIDE5Hh{0;~WlzzVPetN<&(3a|pKz@=5df&9|; z#*JM)1==u^$v93z5&1Gx{sS2byNc^qZ!z34E5Hh{0;~WlzzVPetN<&(3a|qIhytI> z_^1DWd^vCp9yw=t1Y+pC!9x)CnnC~k?sci#ak@A6|L}rMaOJU#(kv38#KRM=AI~vT zsYsv*PDGGG1-vkbD5-)cjwh7VaEv&mWE&c~&NTLq3*z!zQ4mcO)S<28BtB7@7>}i&$`Led4FeVS3mzFIPX)Gxqnfa%AN3O{@S!XXXW1xF zII9>=rGgghuBOj3ZRqKYl2e>68_%cH>|q>4(1F1!Pee44Hrs_3$(jW8>>THn>|p#w z!9T(+YLd~)7ZJRIO8M`0t8YrgNt)rNU>`G~6s~N`Zk5sr+eg_7W(i7(duMjR05f^j zDj3CC5RK$%Hdm-%&9;wl62~K&*>p#bOZttwk00*2q^2;ZxB$?;1&T@y_P!! z)bzA>3CIgW=Y^Yd{o)i>&X;|hFPk`DcCdN&!oDW5-Zi%iZa0h5>z#}?AGm#x76IGxh zoBNs8rl9)~ILw5D17MUj)L9Ww1QY>9KoL*`6ahs*5l{pa0YyL&Pz3HQffB@KZbIbo zMpS_!pa>`eihv@Z2>go#=;!@gAG=tv@HhxP+n=yFn#`DIr^%bY0d8GObyNft0YyL& zPy`f#J4j%r)1UtT@lnEkeAB+ut_RI@v@%+FPBa!6pqEg2to6F3-ow!?50p{kvyj^ih}qRLL0&tHwxx9cLP73(`@JH!?Kq=m;|0j{Rim#OK(i2gX1`|PuU`HeIDTh z^vd5s8|8JvU_Kw)lczBc@|uKlSm?s$%#P^YG#irW4ubIsn-CzMZd1Ovj@i`pVW8u) zh`atYM{lCLt?`QmL%G)L(c{DTh#tI2uey~g3H5@YH%OpmF}_^)Ff8X%8&czlJ}pWy z_5FRk)nLA+oix8ls2Y^=PRmnjm6H|TYry3?#cEm>UX<`a3Okfiudz4U%TnH>A%&l` zNheEbR*zSBMH_Q6p=HcgIMj2YU8iBM^nBQkygA*-g6gM8cPXP#Kc&wIJvN5`Gi}qeH^)f?#$DA?-qv z2+ML5vGJ40%p;0UTC37VB3b$(HIR_*5nI+tT8VFxC^3!593xV@h=NzvF^#s4q)SA> zBI24qL~ag|FW1d7jSAw8%e;8~`WhEEE^x8ElIf1O1-Y~ZXwKX{Wg_)0XO57=GiM}? rMwjIm)+q4j7in}Bx?E;mFq&~d0S|3Ik~IQ9W$e+nnvAAQBuwxJ$>BfF literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_history.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_history.frm new file mode 100644 index 0000000000000000000000000000000000000000..08a6bbda016b3857c409ad1975f0a8f614a861d4 GIT binary patch literal 9800 zcmeI2J#W)M7{~uk6WfXN+Pr{7RHY+RSr{wo#Mi_nwu61?%Vdd(fsepY7Cr`yd;<1N zdZa0h5>z#}?AGm#x76IGxh zoBNs8rl9)~ILw5D17MUj)L9Ww1QY>9KoL*`6ahs*5l{pa0YyL&Pz3HQffB@KZbIbo zMpS_!pa>`eihv@Z2>go#=;!@gAG=tv@HhxP+n=yFn#`DIr^%bY0d8GObyNft0YyL& zPy`f#J4j%r)1UtT@lnEkeAB+ut_RI@v@%+FPBa!6pqEg2to6F3-ow!?50p{kvyj^ih}qRLL0&tHwxx9cLP73(`@JH!?Kq=m;|0j{Rim#OK(i2gX1`|PuU`HeIDTh z^vd5s8|8JvU_Kw)lczBc@|uKlSm?s$%#P^YG#irW4ubIsn-CzMZd1Ovj@i`pVW8u) zh`atYM{lCLt?`QmL%G)L(c{DTh#tI2uey~g3H5@YH%OpmF}_^)Ff8X%8&czlJ}pWy z_5FRk)nLA+oix8ls2Y^=PRmnjm6H|TYry3?#cEm>UX<`a3Okfiudz4U%TnH>A%&l` zNheEbR*zSBMH_Q6p=HcgIMj2YU8iBM^nBQkygA*-g6gM8cPXP#Kc&wIJvN5`Gi}qeH^)f?#$DA?-qv z2+ML5vGJ40%p;0UTC37VB3b$(HIR_*5nI+tT8VFxC^3!593xV@h=NzvF^#s4q)SA> zBI24qL~ag|FW1d7jSAw8%e;8~`WhEEE^x8ElIf1O1-Y~ZXwKX{Wg_)0XO57=GiM}? rMwjIm)+q4j7in}Bx?E;mFq&~d0S|3Ik~IQ9W$e+nnvAAQBuwxJ$>BfF literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_history_long.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_history_long.frm new file mode 100644 index 0000000000000000000000000000000000000000..08a6bbda016b3857c409ad1975f0a8f614a861d4 GIT binary patch literal 9800 zcmeI2J#W)M7{~uk6WfXN+Pr{7RHY+RSr{wo#Mi_nwu61?%Vdd(fsepY7Cr`yd;<1N zdZa0h5>z#}?AGm#x76IGxh zoBNs8rl9)~ILw5D17MUj)L9Ww1QY>9KoL*`6ahs*5l{pa0YyL&Pz3HQffB@KZbIbo zMpS_!pa>`eihv@Z2>go#=;!@gAG=tv@HhxP+n=yFn#`DIr^%bY0d8GObyNft0YyL& zPy`f#J4j%r)1UtT@lnEkeAB+ut_RI@v@%+FPBa!6pqEg2to6F3-ow!?50p{kvyj^ih}qRLL0&tHwxx9cLP73(`@JH!?Kq=m;|0j{Rim#OK(i2gX1`|PuU`HeIDTh z^vd5s8|8JvU_Kw)lczBc@|uKlSm?s$%#P^YG#irW4ubIsn-CzMZd1Ovj@i`pVW8u) zh`atYM{lCLt?`QmL%G)L(c{DTh#tI2uey~g3H5@YH%OpmF}_^)Ff8X%8&czlJ}pWy z_5FRk)nLA+oix8ls2Y^=PRmnjm6H|TYry3?#cEm>UX<`a3Okfiudz4U%TnH>A%&l` zNheEbR*zSBMH_Q6p=HcgIMj2YU8iBM^nBQkygA*-g6gM8cPXP#Kc&wIJvN5`Gi}qeH^)f?#$DA?-qv z2+ML5vGJ40%p;0UTC37VB3b$(HIR_*5nI+tT8VFxC^3!593xV@h=NzvF^#s4q)SA> zBI24qL~ag|FW1d7jSAw8%e;8~`WhEEE^x8ElIf1O1-Y~ZXwKX{Wg_)0XO57=GiM}? rMwjIm)+q4j7in}Bx?E;mFq&~d0S|3Ik~IQ9W$e+nnvAAQBuwxJ$>BfF literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_account_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_account_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..572404aad505f2d11fd6e8c460334ab6c1bb0a11 GIT binary patch literal 9468 zcmeI2v2W8*5Ql#@aht|%?Ih1EFcdK{HDY1Kqz@W|lgf5ln7lGFGG;4dM@B|Q1_nkZ z#K_3jjlTlb+;Zw<-rKU6 zE~ejrM_X`w3>>t)a|p?M?F~W+sZ}n z3`}sQ^QWskOP6z974uV_rHzC;y>lTiEC$4Y7!U(uKn#chF(3xSK(7q^9?+luJzgFr zxb&`Q1mfDiPeTyRI>T)=gAkYAbmFTA|N5f{1_;)L&S`8SI9(Mbb`a`wy)3I`nrZAJ zoUhijE6Oy-5K*zts&bL(yt+siCCytz*<#7b2vK_ejFXVgq%S$y$GC}_>-40$$QPx? z0TLIR@k1mo1LF}Amxu9~&bQeZA0uWtSIZZ#NTlkdw0H{D$!M{H>Lj!{q0@iovv?59 zW~L(Eh6;33&{#_F{4*XhuoIqaykB(pF?}K$SlJDg!fPK-3>Xp^Mg-n4uxG$q21W*K z7zhn`$H4xWz!d`r34!+v92)R}fyjW548#U}VqhE-_`<+M5%|i$)PU~{&|cvO0~Ax? zCj+%nbxaajqKLdrn%eJ#BN#XZM(5xu18o%23=qVJ0)*ovLvPl Vx;ZR!Pi>=F*2&PEYoFhp!ymT(4Wa-5 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_host_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_host_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..4c998ca76f175724beabb71c3c51b7ba6207eaaf GIT binary patch literal 9438 zcmeI2zjD(+5Ql$K?8LT`NVd-u48tTPRj3%s23E5CdXB42S_S@CO4A9s1LMgO`UP zuDvU|0&(xZq)QO>TH+b%;MyAvef8>Ze-uFn-Ps~9=-Nb}&vjaqX`EG-6)$mWH{E+#HF<9nF6 z3XJb#;_5IS(*C9z;}IfObCG`hL;_W-q{SnsRz-`)P_2R%E86{gJ&QZt4?jRxQoI#4 z<}s)1D8b3f`$@quy~0CaJ5UO5eY`WEM_?x;aLho@fEfdQ1C|U747g+<7!tT*V0S{` zGXr}Dd|_bUfUgXM2CNu}A_6xIP!WZ142%r;&cN7!TLvgrxMQF)(^k1rtK6Jbt}AB9 zD%TAgx-Qh8Hui1EnrsJ)C3DljQZncgGuUcwos$(Y-EP;g%$?e1v#eF2-q)Pp?ZXpr CWBs)N literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_thread_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_thread_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..8a00df7f5a9b5d80b04f99166af0ce1094297953 GIT binary patch literal 9448 zcmeI2v2W8r6o-FyLz~!X?Iafl#E^)IsZ5S=UG#tlW;tE6 zm_A0Az`+{q?*o(dLf&FP42S_SAO^&M7!U(uKn#chF(3xSz`Zr#qrSI$la1ZIfgw(G zakwb5B%kSOIXl)_((K~V-ET$`#ef(P17bi7hygJm2E>3E5CdZ1pBVVjp+Eiq~a{7sD6{ic#N23F7lVJ$)ajST0DemC0aa!Y6V)XsQS-5i#vf*pxL~5PDANV z=}t;Gf8){J6c`W@*bb@Ut>-FsA_DIi=o;{zft~>$7zhmb$UrzC@QH!`n80TSb`AK# zz@7nD3`7QeWgw0Td}Dw@6uvVsG~g!#BLjXhKx>8H4Ah$=SG)68yTewy(U_A~yOG$X y8%6W$W(0Q0CT&j_YvzswYssK%%wTK6O-~kLM&8b_%Tm-S;_6HQ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_user_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_by_user_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..218d3c419687340c9396e420b36a7aaeb95a7eef GIT binary patch literal 9438 zcmeI2zfaph6vw}I6G-BKo#fI1Ap}yFih-y@=epraBh?PF9ezyyQ{azcWJH}hc0`>z zcI;T;zB?F?9_OTv*4}G9(!lN~d=w|X2 zc)tcGC&1x4kgFIF17bi7hygJm2E>3E5CdXB42S_S@L~=4sG7A^hyOX6Z_3Ta85rYS zXP=f?5~p)r=JU@wiE9aa8|Ok^SPX~(F(3xSfEW-1Vn7Ut0Wt8x4gBcPpZ*&>JdAMT zJ<_R%WB-5-LDb_MuTcj#-gxAzx6l1i1RZo&xz6a=M4&HpT9j#=Xlx;vFIN=hMVw(9 zVZKVrVv*>qyo?tGdI*z6%1Iw#d~wFffab(koCFxvSu-7CR@L=6JW%n5UeM zqXeh7-a86D&?h_swgRPa=i#FPJp$VyfqMpe20Sp(H{crs0|UM@5R3>sGBBJH_{qSI z0lyg7HQ+Y`p#gswh#~?V->sC2C=3}G8=x4N7_iR(#R_j2sLXDw+*YgHKC4_;%qFW` zH*Dy-P(N+#+mJQcZY-9}?FN>TL6?}pR&(o|tcdA$yM|?M)i#@DtqS$LX8mp+{sQ)s B?ZN;6 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_global_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_transactions_summary_global_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..8c1386f60281b37d425e9eb453cfe4b4434f5862 GIT binary patch literal 9408 zcmeI2v2WTy6o-GNga9V70aFR7Ll`^JrF$K?q?T$E83WDaKO<|UjvX^*?AUA_yHu*w zC1b~q9XodG5a-<)xK~eIijewFLiYPOz2EWOZQQ-ne)0(L9pD)~@S9%Nqt-+VIMCH- z!+d(_e+8azz<3OtYzldb0Wly3#DEwO17bi7hygJm2E>3E5CeN_poU^^*Cq?woq--M zRC+c`<1m@1d_H-p;;>8~?rss1BnHHQ7!U(uKn#chF(3xSfEW-1|HQ!OI{oSY9}kCq z{*`lE1KoTWZtp%^;PKkYmDBZW!PAq!9H_%pOO<4K62^)yPq>rWf~t8Irf9&MFXB9l zVwL8rFv@TUFOCvUn()HqIVUZe6Tar8jc(aBRpB&WrBSBfVqkkS-od~oFn)xA&0+kQ z=5Ny&_u#Y4S@P;{(7kfCqHLnFW2-T4)1@c{c>Sm;e)C z0!)AjFaajO1egF5xQ)O7OOZ?$N#w=8$WnhUB5yP9__pD!F##sP1pXp{Pj&j!|3AJA zxQL8zbn4;E`U!)MJKQ50ON`Jhs6@ultqt#={NaTj6{;9(n};v>Q|&x3=7sKdFh1`HX7+Nj8k;bT}++{ zU+NvF3%eAG<~>+p9Eew0kvZEh<>gYKk5M_6TFGMHnuu8#V}O1vQW?gxYSJ#;eXVFQ zgt?%7&y(RI#u1$OBAUMTqW!$CYoIX7&X*K6-d^CVnDYR`Wd0neY%={^Db_B~J;q8uKH%t@nYPgg4 zIH0DTuD8bfTGg~`1C1v%RsEEn6|C`;&ckTIvHdl!cZB|kp7PnO)-vdm@RfwTBwwxT zj>q_JqV>Un@r#6^DX#FttQL3VP{~6JzAhQ%Gkt7TGgVu6DQzXS>#I`D-?Z8|O6}OG zjH#fEawDn2MQYDNIxG5A=FxKg+I75d8@2C`Ft{OXDz#hG4XdcaCkjd?UYvS;^Q69~ND&~ye-Cfs~ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_waits_history.frm b/sandbox/servers/5.7/data/performance_schema/events_waits_history.frm new file mode 100644 index 0000000000000000000000000000000000000000..a1406244f257982332722fc32137dd00373f5045 GIT binary patch literal 9401 zcmeI2zjD(+5XL__j{iuqEnAKYND&VeRiJ|*%tV&XwiqOPqzjM+rJ|&ypfV4_gHYiL zh6;{(7kfCqHLnFW2-T4)1@c{c>Sm;e)C z0!)AjFaajO1egF5xQ)O7OOZ?$N#w=8$WnhUB5yP9__pD!F##sP1pXp{Pj&j!|3AJA zxQL8zbn4;E`U!)MJKQ50ON`Jhs6@ultqt#={NaTj6{;9(n};v>Q|&x3=7sKdFh1`HX7+Nj8k;bT}++{ zU+NvF3%eAG<~>+p9Eew0kvZEh<>gYKk5M_6TFGMHnuu8#V}O1vQW?gxYSJ#;eXVFQ zgt?%7&y(RI#u1$OBAUMTqW!$CYoIX7&X*K6-d^CVnDYR`Wd0neY%={^Db_B~J;q8uKH%t@nYPgg4 zIH0DTuD8bfTGg~`1C1v%RsEEn6|C`;&ckTIvHdl!cZB|kp7PnO)-vdm@RfwTBwwxT zj>q_JqV>Un@r#6^DX#FttQL3VP{~6JzAhQ%Gkt7TGgVu6DQzXS>#I`D-?Z8|O6}OG zjH#fEawDn2MQYDNIxG5A=FxKg+I75d8@2C`Ft{OXDz#hG4XdcaCkjd?UYvS;^Q69~ND&~ye-Cfs~ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_waits_history_long.frm b/sandbox/servers/5.7/data/performance_schema/events_waits_history_long.frm new file mode 100644 index 0000000000000000000000000000000000000000..a1406244f257982332722fc32137dd00373f5045 GIT binary patch literal 9401 zcmeI2zjD(+5XL__j{iuqEnAKYND&VeRiJ|*%tV&XwiqOPqzjM+rJ|&ypfV4_gHYiL zh6;{(7kfCqHLnFW2-T4)1@c{c>Sm;e)C z0!)AjFaajO1egF5xQ)O7OOZ?$N#w=8$WnhUB5yP9__pD!F##sP1pXp{Pj&j!|3AJA zxQL8zbn4;E`U!)MJKQ50ON`Jhs6@ultqt#={NaTj6{;9(n};v>Q|&x3=7sKdFh1`HX7+Nj8k;bT}++{ zU+NvF3%eAG<~>+p9Eew0kvZEh<>gYKk5M_6TFGMHnuu8#V}O1vQW?gxYSJ#;eXVFQ zgt?%7&y(RI#u1$OBAUMTqW!$CYoIX7&X*K6-d^CVnDYR`Wd0neY%={^Db_B~J;q8uKH%t@nYPgg4 zIH0DTuD8bfTGg~`1C1v%RsEEn6|C`;&ckTIvHdl!cZB|kp7PnO)-vdm@RfwTBwwxT zj>q_JqV>Un@r#6^DX#FttQL3VP{~6JzAhQ%Gkt7TGgVu6DQzXS>#I`D-?Z8|O6}OG zjH#fEawDn2MQYDNIxG5A=FxKg+I75d8@2C`Ft{OXDz#hG4XdcaCkjd?UYvS;^Q69~ND&~ye-Cfs~ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_account_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_account_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..269ff7326656c2e0864bcabeed83733f007ae9ea GIT binary patch literal 8874 zcmeI2u};EJ6o&s+3WW|uB~A`FIv9vgV8yFo(n8vTPIh&4bYyhnC77Ij2IG_X7+lW{ zDco+3P54jJ+G{90JsYQUegt$KU?>Y#F3NI!v;of?FG|*x&FMFARf53)=$8ks zG(ZD1Km#;D12jMbG(ZD1Km#;D1GP2aLhpLh{R607T5f7@-~=<3-cQpwN=B;4Mq?F6 z+oq3e-#Z(m0UDqI8lV9hpaB}70UDrz8X5R><){AvmjfSb{K(Y9%6-{+nBffDL5MZl zzT3O}??(|d;LS6Y%GiWAo@P0k2-HF)d67i1LJPrYI+s(HN2$Cy%;s^CPhyo8Pthco zd5bWfBsS?Fj1~_z3FMjR*(MEdI5h1#O9`;aWM;#A{KB;bn!(-D`IWmja)mO@(F%G! zyt=qGz!%_$0^TgpHsIX?9RrpY2n_hJfHujsiLLjU^**q!rq$J`x|&m0Lu&j1BVc_{ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_host_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_host_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..f299b1f3816616e5e7c1e1ed12cdfa82ab0afabe GIT binary patch literal 8844 zcmeI2Jx;?w5QU$Y{5Wyp2qG$qP$D6Pk}^wJNRaGAwi80-tK?2N3!TXq<9wBr#XK=t`K;#!Ld3~D^+^x0 zUO)PzFYoA$Pg?D#cSz^KRvO*sGOH2YZ-WmxOyr4WXrmJihqzU^b08GZjRj0R5IQjP hK+l1t2l@_dJYZcwdq`&w(QGr9ZHBVVM79~n;tSyaZ)N}h literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_instance.frm b/sandbox/servers/5.7/data/performance_schema/events_waits_summary_by_instance.frm new file mode 100644 index 0000000000000000000000000000000000000000..46a94be20c27f3ad4a0f1df46cef924557cad472 GIT binary patch literal 8878 zcmeI2F-yZh7>3`(+N8;lqNS5VI|@Sm2`2HZ5t5cPt!~-<6@sIqqobqLp+Cak zHueI7js@Qj!hQE}2lqZ(lKZf{qdlN&0jDxxCC#R67ad@~nhk5#mFDmbIH|#C1Ptm4 zM;f338lV9hpaB}70UDqI8lV9hpn;t=U_v^QcNrpE3cruq|LUTDnFq@}kk)$dwufwE( ziy%!hlXMV-i?K;OSrguvq~)LASrP?j@&rS`VMd<3)ZsPlS66X>^#hIw%M=Xd+y+3_{TyA zK{YM3O6oL`*@;jubzarE$~3wNhQEyZBsY6+;1F}2-ORE?r4wD{lRKTL zP0{vVhd~20Km#;D12jMbG(ZD1Km#=JhYdXW^3(qxhleg!h<(W9!(;7Xj$>>FAyx>w zeth=ROA)ltE_0p9*hHuoIxVVHB^n)slUXTQUZ_mI80BSB71Km#)xDY)2oNRH)FnMc zYH{n5zPzIzT+(Wf$B@dsr4+u-WmY4+UV0ajT*?#4&_*YWV?2AfvLF!9jRd?nAh6)o i0X+-e9niPn!vV%NXm;J1U2CSGF13=Bh|_Q>FJhSHG*{?VI?9 z0u-PC1t>rP3Q&Lo6rcbF_EO-2 HFWlerP3Q&Lo6rcbFC~&m`0sPh8jTfT;1t>rP3bae$7NuRxi$$Kg%vPV-o6XacK(Ad8 zd@ThiKmiI+fCB$4@T26Xe~UvwV~w3mJ#6F2#i7K*dA~-egZt;v9|IxG{QbjLF3qjX zP9%0^-SU)0NQ%?P=p?g^(os{05@YZkV|YBF<%GX<_Dx&g H^z=9Yyx=QZ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/file_summary_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/file_summary_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..5cd904b0aec493f7121306c5fb6012e9132f03b4 GIT binary patch literal 9740 zcmeI2F>ljQ5P;9FlP0lSyRjS8!jOsyF%)%TV8C%*@L;F1ofamGf5C{v2pc0KBO@at z5(^_EBO@at66W2#*zbfoz!s@zDN62p_T9bjy*I_bt;ww|fWQK{r@r9ChVHUQFa{W4 zc+{~#{Rlq;Jm|pjF~GbF3E*jNKLv>V%-G`9H$ zrf{B?XUj5=izIETawCzs8ph zH^8y)t5+aS>}TpF2z{NyZ2jxC6@_+mXa0{DIN+uiX;C*toTuvL2{&1;R8-Y*2}AI! zRo>KDo|esJoYk-mex4PajKGgC9&s{O_ry;)nRHppG(H8FXC>nCtVDKrRwBDRD-jd7vhk^5dYr%X|h5^ zcnW-DckBfUd}m;a;0FUCf}adT2!1iJf2hEgZK}+0F0O3^IoMdpzyQHb21wy;21wyu z23m8lT63yewiDHnYS}Kt&@3(9`yhK literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/file_summary_by_instance.frm b/sandbox/servers/5.7/data/performance_schema/file_summary_by_instance.frm new file mode 100644 index 0000000000000000000000000000000000000000..9269f7c68167a1163e59c0590737b168260bcad4 GIT binary patch literal 9844 zcmeI2F>ljQ5XUcRV!Lr#yNMGi6-X@-14yVWY!$+BUy4!fRF2ca17#SHE85zOcJ;#10lmWI#y(dNS{oeE4z5lzDBIW&V^{#CJ_$`3D_yxxf)T8ad zHb9rm!!n+f$x=?9e zSr&}v(?=@Gi#T26`WMnvoyIBH;70Q$E<>7u1Kwhp6nUJethfy09B*NGNt|-h124Qd z<;2A`;bTtvwbx9AC$Pi4YO>3{YT|LPn)uwSCVMcU?9yd2#q{R0V)`Uki$c#0pkM9d zGK+HsL-5%~Gz!3HJJDzaKHG{$V_aqSqS0Hht^YfQ{dH+piQ%zSc_#590*fo7iOrSK z1kc1IsR^A)lcOe`9)Lv^^Z-BJA>N#EPoA~5ECZ}@5Wou?rnJJr6}F4u6$6fk;57r= z1l};vBk+y^m%w`l`sDNj13R?hBLlkxJ~7}C_`-ls;41@r69nIEi0ae_eFWdxilL9- z2Ll0tpA3u${9<5Cpz9btI{OHA922EWdl|767A1C_0h_>02DF5C7|;^lW1wsrv^3pW zu5HcI^kvCv8Jn_Xbxfuy4{F)c)P^=IH`FA|jW&%NZ5lV#Y*S**yX!h{m8Pz47ND|C jgvvG{R`X2^^ZwsKsu|NXEC|&;6GNLOL^az)&?fu=>rFOF literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/global_status.frm b/sandbox/servers/5.7/data/performance_schema/global_status.frm new file mode 100644 index 0000000000000000000000000000000000000000..4c2ff7379a4b8389924d90e60f3a240620ec9f91 GIT binary patch literal 8628 zcmeI&I|{-;5C-5stAdY^h>De*8;3_K$Nt6U_y^4qO0D|JNjN>C~Yb62yfv__J zn+#u@xjFS-31~XNL=IeBDRc8 z0#D7+DDZ26qa#24|2P~dq&Uge!^Q1ehYh-rjR=VpC8av!!IyzDyq!)~dKQ{}tRo}) o6TWTibhtGrd-^0_1*Y=&vRYB`0rxD$;oZpWjmIlK)$@LaJ9B?3PXGV_ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/global_variables.frm b/sandbox/servers/5.7/data/performance_schema/global_variables.frm new file mode 100644 index 0000000000000000000000000000000000000000..4c2ff7379a4b8389924d90e60f3a240620ec9f91 GIT binary patch literal 8628 zcmeI&I|{-;5C-5stAdY^h>De*8;3_K$Nt6U_y^4qO0D|JNjN>C~Yb62yfv__J zn+#u@xjFS-31~XNL=IeBDRc8 z0#D7+DDZ26qa#24|2P~dq&Uge!^Q1ehYh-rjR=VpC8av!!IyzDyq!)~dKQ{}tRo}) o6TWTibhtGrd-^0_1*Y=&vRYB`0rxD$;oZpWjmIlK)$@LaJ9B?3PXGV_ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/host_cache.frm b/sandbox/servers/5.7/data/performance_schema/host_cache.frm new file mode 100644 index 0000000000000000000000000000000000000000..933c1c4200a122eff9a8ecdf49a02e1d96e51a17 GIT binary patch literal 10483 zcmeI2zi-n(6vtoeq;c$|NoptkL8(HKkWhz$7+JX54lzmW$UmSJg9k=N1_lPIuB`k) zh)N7FGBPqUc0dS$d5-U#Yn)UtLB&~0Y=7RncXwaCd?mO3SyH!UfL00M7M|dw4D65; zr~y>c+iQ%q@IrqFaKOO+K0uG%h_g^YC?FIN3J3*+0zv_yfKWgvAQTV^2nB=!|EvNM zB>CFD`d^biORqWLRf)jdX68GkzQ= zeC9ws&G^EBMheb2u$m6}&VgnZfn1)gqqU7d<3M{8fzE-obp%&9pl=|!&H*E>vB!Z< z3hr>A+eUDg1La)=CI>2e2!c*%jpnIx%|O}}RDmlUlp$=Yp!@6pIo)0>aan-YzmvpdR` zdfj|{Sxw&M=$PpaW}ZT+yU5?zECu6ZrRJQCV$QoV+b{CM{0j|@j+?m|1s7P;MHzFx pL{pcT5{)i!BpTuEh@$gel+27M$z6!Tncrj~?jDjOJ4jqFfnPA_^Qr&< literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/hosts.frm b/sandbox/servers/5.7/data/performance_schema/hosts.frm new file mode 100644 index 0000000000000000000000000000000000000000..e703e75ba6390238bf48bdc92498bdd293597ff9 GIT binary patch literal 8676 zcmeI&zfQw25C-ti`BMd{LlrD0hIWGil}8}5j0&Q5m6*9pAB2ahI(92h!N_yeT!mtR zU|^)`cZ<)L$Y=e=rP3Q*wR3S@}sZgG5sk#3)o8VlRr`*z+qW0#$o*?IH%aG2go7nad}yA&6^rt5jSNsP(s19&%!Sq(8^GL2p_%}LS_<1Q Pg?MNZf9Vi^93SxkKG#jr literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/memory_summary_by_account_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/memory_summary_by_account_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..5543626c8da0f16bbb306fba64dd785f6b644d89 GIT binary patch literal 9240 zcmeI2L66cv7>3_g$^r%22q8iw!J~-@#1qFY-9a>zl9p;b_3F{1M~)sndi3bg!zTQL z{Ue+BGj{x@-F8P(6B926z9yudXP9r8=e?Eh&S*V-1h@t;qZ<~18jf|{DXlfHTu*4j4uNn z%#9b+0&y^JOAlKNkT*iijc&*6KmXg8BB;SiVi8f>gtZFe9qO>fTd~=t8!r&JK-&)! z8hPt==%WEUA1)&ysM%r^CqcSNf`y3EaG5UN??in6)fR?Tli5NW&N_UT=A~%&E40z` zlPFUAYP17)_4?IHM_mln(&Ig|A`Zqyk;-`&qpV!zWX+n*ltN=qQtx8wBeC9GtG1C6 z)a|Ri@snmR>Elp`$wj;0#|IM&1sVhzHi3^CXpRVc(m-oSV6Oq&A@JFRU({z=2% z$0hJp16@_)n+BXQf$th{)wVx0AXUUt~ynXYdQ~pxHYB literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/memory_summary_by_host_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/memory_summary_by_host_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..b8dc2d59f23cb1e931e23bd0a91b812d884da898 GIT binary patch literal 9210 zcmeI2%}&BV6h^-mQJ}>(f+i46aOq0ixfIG^HI$N;`m?G_mo8nhR zKiL2qU;}J`4X^<=zy{a=8(;%$fDN#LUu!^zT)vxZ{lT_;d+w}^fh~+g(DwtcGjv28 zI<~18jf|uz?>m@KT^Z{r_>(V4|(P(yfQ7{=D=s z!Vc(01huwSHTC+zcYhSY8j7wTj_KNjAuhyl91lC5z&cFFk7(2x415P0Fy_O4AOuQi zhLIN!Bd;rh*zd>P>#+zIUoE4NH<>Q1z#90M@w`+NiXIHqoG1vAeHCiLcF#^-6;;tl zmVVwdEwYKdtVr&>g=ShVcXF+G{s6M6O-SA>r28XAZ=yZY;DkOFT_jmI>vbIK=q8{< zV8bAAqJUD9fUAIVgTP1u6^p=?4kxQ&)Ck-tz_bb6DxjLwxKqI99)WuWSjn~%1;`{x s`5vQGGF5`AR$;|hAX!28H@~gO(YxClmSIM2h8$z|rRR910 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/memory_summary_by_thread_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/memory_summary_by_thread_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..63f9ed7da45a1fa4d7f6a14d47996d8fec22159b GIT binary patch literal 9220 zcmeI2KTpCy7>9pF{;;_m3^=;-L^XyW4N=IZyb zzE>!mq$UmwB)+%w?zy}7F3)f5eQEmP4p7m66Z+tTI*XPmq6FmR=qOQrBW(*(5J zKr0#WmkqE1Hoykh02^QfY=8~00XDz}*Z>>YS_2tGTYERY*yarEVIus#=ezdU5#iJs z2-luh-{0IJT!{^^0XDz}*Z><~18jf|umLu}2DZ{bHcLPK|8dh`qN81BKrbIYmmVfK zSoAwu+04|ATYqfGLZ1zMVfVsekKRrg;zEpP;n;Qs@-Q7QppiWqc@7FN=EJ@(1d3=( z12-H8ZddrB*AKf_GcjE(Euo$^8E@2Kjl9cnUMiT19t>2S!1v|33N=v~49^EDDx)s9 zuAdnf*+nxck~(jp5tmDy%<8oo=pjk>j4T%E@kq|--Dvcf1QJ*T@+Pgg)mAGC27x;T z6dMHY6;P@Zcu;_D5qQ+#$fEKTqe|dO0cM53vjWPp#)|@Wn*`nzV98_O6%Z}sj8<7j pN|1}b3?oWQDNZ|eCf@QhyeN^rN-kQ9E&469<=(VR=2cQ>@D1HXw^9HA literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/memory_summary_by_user_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/memory_summary_by_user_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..5e26a746963a113babe4acce98a5215884fe73e3 GIT binary patch literal 9210 zcmeI2KTpCy7>9pXME<~18jf|umLu(WCq>}^r!z4HvtQdxTIST1>f;k!X0x3~O zJB++|7mf^IY5bN`uawNtb-hO=Z64p{Z|)sh{GSt<8&LQYCi=pE+8+_W%F@ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/memory_summary_global_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/memory_summary_global_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..93da6fddd389a1c5f725a71f9d22af19c8f9f256 GIT binary patch literal 9180 zcmeI2KTpCy7>9r5KeRw2jR`~&+;GB=U@3<+p_CM=aq3qwaddQabaZrdG;wirGx4)n z-?kJ^QWFyvjPE6+chB4VUGuyn_o>tl@_?=Y$MnD(O_n29K@})QtHYG(G-@bZ=qq*(bo1eTXzS*gaY!BAG$ga$ zKqrpNEEd$!l@i?@IiX*Z?u!&P!@#wIVFW4!N-BXH36whoZY5A@6S$K=wMpP!ft6;| zS_B>>py~u3C7?waPZFqi2|P=n5gq#~fpFchQ0mrl9vKg_S`oK2vl4Il-k~rxyKYao S(VOt6#;o>ciBD28EBFFfY_K-~ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/metadata_locks.frm b/sandbox/servers/5.7/data/performance_schema/metadata_locks.frm new file mode 100644 index 0000000000000000000000000000000000000000..b9eadc19fe6fc6b399f01f56afe04b6f046e8e55 GIT binary patch literal 8998 zcmeI&O-{l<6bJBsOOaB_M})9)fg2N7=+a$37^P}kQi{gJq#VH`uyEmNJOhb|C-6Mh zSEf_Y6&n*1UlYQ6|IWOW->zXkHS4Gb^fcg%zTg;8mu{j7)Qk35Wj!kT@4#3EW2#1~ z;cpgT0Ty5Z7GMDuU;!3j0Ty5Z7GQxtE1)BK z{iz6DxwXIN1YX7hEWiRRzyd750xZA+Ebu!5CpG%h{~uo(EPUXRPCYorOXV=bP#%1s zdo4>JoR0RqV8D*OYvHF^`Y;nTq*J!#i_k%JKXOBX28QMRAeyI}HzrS91rbbGx3PaC zr!>*oG?PW*ra>IhGuxYhwxo+WT4>DUMdAzC=*9PuNV0UA2zQbN6SUElk+>64S|o<; zuc6bAb?DQjvmN!0yT%(et1>t!Ry=FlpfMZ_Aar;RtuSeeX^AC58d3zsjAqAO;&msm zY=4O^oh?x-T8-%%PZX@mEq0HFo*VFrpcvZjQgE>o2e89!f7}I%NSzQ zq@W9kHX9TWNOX4RHj7?QYU#BWccGfy*wKPJwZ^;YtAt zP=Epypa2CZKmiI+fC3btz^@hX;QF(DcYVa>&;n;zntE2%MO>!FuF|O@WGup^OZuJOXZHph!upH03g&Ol*~S1qL34SLj{|iHT>z z{85|K*;pze^;n8xpEz;+ZBhOor+s<=^c>()PFT1on(Ltj)brt4k@ci=`~_ST!Egu+ ziUH3Qpa2CZKmiI+fC3bt00k&O0Sf$E0T-rxw{5SC*rC9V1dcG($@L_OR2=GT7T)Se zt(Q97(TaR51t>rP3Q&Lo6rcbFC_sUI75H}Lr~e)|2OgIAkgA7;`&v3oaRRA|khVn2 zbNlCmKQ`3RnT+mqm}cqIR7>?lcQf34+&0SVv5GXB@WaVGPP1965_y$iHjlD&9O)!` zP~%hzFoI|t+esUNy1%g#U*@PsJE?WT74kxkH#q_+-l%ug3ZGWc$Y;De+Zj#2--mWF zx{_I*+~NfiL{`wsgSi#7^WfPE{5*KE0%K7W{k20e$`Q;~z*M(ys(UxpjhpJO4SoSb C^=Rz? literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/performance_timers.frm b/sandbox/servers/5.7/data/performance_schema/performance_timers.frm new file mode 100644 index 0000000000000000000000000000000000000000..5f0e235976202b604740f33c6fcfd57497af8c2e GIT binary patch literal 8776 zcmeI&J#NB45C!082ZJLNVS<$crGS!(Tp)$DEW(PtCJRKOh&TpqPM0gC%VsS9K!Zey zlsAoco^0>vEA9RD?w{{~$OB&Ff-&0iLxez3_R}VeWHI^%W=$}k1CyrVl>!u?00k&O z0SZun0u-PC1t>s)n-%ck+S#0Z2)I;_SZlj1Y@QgU4;!`8c~af`aOn}|6rcbFC_n)U zP=Epypa2CZKmiKefWXR^pZ@>2JallxrwEMk3J=}#7zEaMf}DzwIwI)!@oaKs$=mwd zG}rcEl3dH-iKyz9R=@AGQG3~7SVdNEifp${3xgg8RaSgxyVA)5o&IzR9|)5O-j5u= z2%ohReBk&li$iyZ4V+~5#_@~jky-(*fL1^& zpcT*xXa%$aS^=$qR^V?daK3{7^#6~qBAkVdx##nMPd;2P7GM$9QH>$A0TEvJ3wEn$ zub(>Rg|phh_AYay*z?0keFNNPJN~z@CEX_s^x=ShZpu8j&}^Rfe1m9nPQu zrW=fKgBYjCfJTDYn7N~f;c>CT(I8GHPGA$Pf#>I-1(vhl%fS|objCSoLqpc=2kxHA zz%tY%V4Md$#AeiGbl`B`^LrsYC^XGKYl_-34-UfE>2|R@tb+|vYbqF`qS%pa6dODE zesEL?*5uMIb^#~F(O?*NybyQkZ1-7+eOk$<(@X`HWhP{Oc^JB*em~v~@ElZOHP5-@ z_gIpxL6c-v0+y0B(n`r-{87Q(gF2XGbm%%hcCf8bz@r#Di*<)i7~)P1Ja2M8GLh6Z z69E!}(m;~{RSX*_=lB60<_;UjqYxEoCEG#R3j#cuS!TX%+fW49-og(~8J`(is3WKn zuxM-@f`!>z_-EjVQl(smHvlI(Ho$iTWfP~oBU35{f)4~#t<_cdgd=a8Q22^dYWC$r z_)Ll}Syv9>Ng-RM-oP3+irK~*a+R9|7;?lN0!$0RT>_dC+#|q};2{Am2_6w(%c747 zSgs*>Npu(3$n&50v6?n*94T-5WFRzyn^680hMJ09|@?gBKSf;t%=|p z0ZXz*aV}G=E)}a1(2&ix2ry)$P7+|st)C&FDZx1cl!O-vXvt+S5g>kPrXq7ruR{W9 zYGUG{B4?m!JaNx7B-S}i65pI=s{WK?ikw}hacYY~etM>iQp~udn6XGPQs9!&~Si>G&rFMRY3(P-}{5S*pQ@k28MZIJO=!{!#aM+;p%(rlrYL7nsDS{Ge!9vHeS!J<~j9j0nhbCPn nCd@*!(mRxDvxCeDOy#-C#foy>^Kb;Z_kt@0`}zU<_O`_hoPI&A literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/replication_applier_status.frm b/sandbox/servers/5.7/data/performance_schema/replication_applier_status.frm new file mode 100644 index 0000000000000000000000000000000000000000..a86a771876ef65302953d9a7051a33877c67a19f GIT binary patch literal 8759 zcmeI&%}T>S5C`yol71wGmY~Ih_0S%BsyDCQ#*GcMo3e?5r@V^v$wWbKeGMPMTh|HF zQU$@IAOC@{vy&wZzvE=LUUU`!u?L*Xf(`cJhX{dYy&vt0u_VV&z<5`fOn~8T!<7OQ zpa2CZKmiI+fC3bt00k&Ofgda2!|i)>!(SdU$T*B6th7yYyHqC8Rgui~QoXrP3Q&Lo6!_Bu7ry-T|Ht8>fi+%4V1qe41c)SG;Y9K})@U~T{`k8? z5&2p-nJZ)TqB3f!<@!Xg(Do*)hYzJHHCl+R%pfw8nXBqjFVrpC7$o_%DXY>dQ>diO za#K`Rmp0P{8r|7Fd}(DW&vqm?GI~*j2Ov~2yjLl-;!X#T!0DZw2&B*+^!s=QW>YDI ZQgDYoxepDwPu;k$TXAr?ae10LyaB~vW*h(j literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/replication_applier_status_by_coordinator.frm b/sandbox/servers/5.7/data/performance_schema/replication_applier_status_by_coordinator.frm new file mode 100644 index 0000000000000000000000000000000000000000..69d9da585f10fed18da3d9ac1fa09985e206cf7d GIT binary patch literal 8849 zcmeI&u};E37zglw3(^(}R0=xi0HblhNAQ5dlF*i1t83$%xI6g>yoqse(1DonE)FJ~ zUjrp|bJXyCNz=Q3()7OH(BXO;qkdiiJOj9*8`dt0GHp1(Q9d0MnMVWv6}T*d;SlH- z6TY(m3$OqSumB6N01L1H3$OqSumB7ESpgGzzc$_f=T&q<8yZ|Jzyd750xZA+EWiRR zzygOT(7{5gX{G(uF4U`m*8@8iS8BTj*18_?yZ^u8ngqa9sZ W;I@}?vTLLq?Yq#>airtvRO1_?AA0Tp literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/replication_applier_status_by_worker.frm b/sandbox/servers/5.7/data/performance_schema/replication_applier_status_by_worker.frm new file mode 100644 index 0000000000000000000000000000000000000000..d2a31c2359cc7d0ac8e208fe0ebb6365c043d1d6 GIT binary patch literal 8953 zcmeI&y-ve06b0aul%FIeP?}N(7+_>Tu(H)HF0CL=CI}D`1CPQRFd+tz7~x?M z3+9@(Q9uk#2-IsSihXQFzMqsO@tYH@R)CrVY|{;wA;!)1-~-ckxIWHm)QRqa&2g}` z1+0w+d}jd`U;!3j0Ty5Z7GMDuU;!3j0T%eP0xnFkH?#K7TT#iVTaTAp*k{8J3SeTVdaaH0l-!MhQO;!Km8}TIq>j+8#?uH z8J@vG#h!V<08Q%K_5j~=8yi3Uh=3`Cot{ui9^^{Il8#RV$BEvTI`8jd20_--QtaBn zEap?GkNWoQ&O|0@Bh3SmW_c>5$}=rgDmqy|QM9A_$Ar{6(YZQ|+fpMyR0?C6reaT` ziltJT^(oIpJit`gzJ*KmwCH-H;~djLqk%i1Z3B;j85=xOa5@TR=Y1bfG%0FuUTB5a z+_}ax&9>;W&+zNjDoz}%*q}l|5CL=N&Tz#71=Xb}!bONHECY)kV9GeAkTC^|`D9|g X1sSGgjdC)gC`W~Zfk~7}x?O{J#*C=t literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/replication_connection_configuration.frm b/sandbox/servers/5.7/data/performance_schema/replication_connection_configuration.frm new file mode 100644 index 0000000000000000000000000000000000000000..8f2ff4e9ede013d6904edf6dab3154e14f6fc868 GIT binary patch literal 17680 zcmeI4UrXCi7{;HpM*H8|KNECFWKh^Hrn{Oq1JiiAX4a&nang$|R2SC{r=S%XexR{? zKfrdgue7U~y(h7aQU(LT4fh^Ma?X=;&U?=9Jb{w7=TgZ$Oaes(XwwDfHH=asg*2eb z;_^r$VR)FNfC(@GCcp%kz&}eMfnYo~jnkbI zknrz3=wAq^&`TyxOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>N zfC(@GCUCz9@K?e2Ydv{3On?b6fm;zMp)H(-?QH3mA-s;!6kB@K;o`0O<;F~a2`~XB zzyz286JP>k0!5Yn^#30x1ts{(XWI4Pyrw8gWS|j^HXhJd)snRMY$<-$E^$9jq6Y4>t7+?2(8m`xlEf*sIM;Y4NyX%15B&gEKU_HN+C%# zX4KVHd{W{XsnUxJe7Pp13&|wjB#_dJP<~L8Os-nR+ek=AA)BL)y+jmtmV}%XdZ}2* z)3Y(XSBQl|mIS{N3$s*v`u##I6qnLz474z8Qbw7}*MBBHXmO2_6b6rCp}ato>(}DR zRpu)d9Mn*kvrSPS)p90-VGU0V64d221lLU#NQVW|UV-#hFk!6VhN}X(uveA}^H+Wv z<>mTD`PfNOIkZujB@czy-x?@taOIwHA?$j>8sP&#z6mDogr*559TOmU7Oc{_D>{K? z2j)x5cEm<3z&ic7>mO@J``U@WcXasfMC-)Xq;jZ5sYG;Fk18vu* JdWS>p=`Y|QNI?Jq literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/replication_connection_status.frm b/sandbox/servers/5.7/data/performance_schema/replication_connection_status.frm new file mode 100644 index 0000000000000000000000000000000000000000..ffe31d40be93fd71f514a4b66c5526be37a9be31 GIT binary patch literal 9215 zcmeI2y>HV%7{;GV`r*b&NaK_$1yyG3(z15z#kqV)jUAnxu2ukxR0^roL}X>>KVXEB zftdk;D#X9Uf_l73NMeRcjFos_DZ0Do-uHC=J-)@cTakO51xf;VN)2ubSVqRe4zM{J zK3Qrd>Nr2NfC(@GCcp%k025#W_m)5gX09#a35dXC83naa_>eiESig4dG1ug+s%b`)Kou$wyQ zbr+*8*Y5JwQtA}n=|^|($$bnyFSDXAm%~{Y~{Tnj>THo&Q&USCs2DsB^H%f z#lu6q7qDar;wK3^2bA%FGALo5k*himJ_@|WKCo+@!me5tJ_(fS)11iIpu}q^(w#Y5_JIW?sl7j--vv zG1}OD@l2JaX>4h#lS$%6J1nq>twa{qRZnpJT3n2I;enR1tJTbHjxmv{o~?c=Ke literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/replication_group_members.frm b/sandbox/servers/5.7/data/performance_schema/replication_group_members.frm new file mode 100644 index 0000000000000000000000000000000000000000..d5f619c06d8a1b1d2abd33c002107e96d8443231 GIT binary patch literal 8778 zcmeI&PfmkC6bA4Q`j56?h#EIGO}o^E^#n$WQ(IGp28dfO;0?O*P#(az@E|U{g1e3n z1a#@r)Nhhz-aInR%MUgKZ)f#KEx@;cOPTO4K{ad#4$vu9(>mu%aP$hC*NNE-nA8i- z6rcbFC_n)UP=Epypa2CZKmiK;SpgfSsm)9{_FAC0)AEkz5F3>&;v@=msPZ&iswnt+ z2o9QOfdK_5KmiI+fC3bt00k&O0SfGoz@050{r~Z>q`_f}z76SoxRQf$8za%!;G{St z%h;mZv5(Jw`$|Ced*L$BTCH;(L`wdB5UFUcl6-Z8F5GIdjMEIgX1R%zOqwmc>S~$= znL^u}KSK(`wfuHdX~h_*2fWDfy-cJ)*A1U=VSOih?r?}V3#X5=r6pS&Z#*t~I-J0V r^&tuKvpUn1R!2o$bzBrx$7MwZCf4hfRwiC7$~jSCe6Ny~zBTv+8V-(y literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/rwlock_instances.frm b/sandbox/servers/5.7/data/performance_schema/rwlock_instances.frm new file mode 100644 index 0000000000000000000000000000000000000000..88d2df7e0c9eb88dcaf24b1ef4a0913cef6041a9 GIT binary patch literal 8758 zcmeI&zfOZt7zOZiDYTWu*eGQn4(-^fPR{b@YN-VpiZM>SN(a-)(WLL;L-<(YM=kAA z6GsxyO$Z+cLQZ}g;eILmx&sUpa3d#dW!NvHk2Aokuf|O_km2eRm^8t33XGZyo+&^9 z3Q&Lo6rcbFC_n)UP=EpyXsv*O>d@^t9U=~G5V*ur=l5Bj_-UxiRXEd$|I_Qd4fWW8 z0u-PC1t>rP3Q&Lo6rcbF+AVNv$WQ-&ycA4q@FBY%wrX*3Si*%wvNo_x!L*&ZO}JSw*I`k{>8jX$vj_SiPSJ(;oX3SO7g_kIqcV6Yi&?JysEi}@Fx-vDdtvsJ z7BH>(S{YL3PL7MQ?85+`!K$P-oFt2$Y#`n6GY Hs!oM(_*O{b literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/session_account_connect_attrs.frm b/sandbox/servers/5.7/data/performance_schema/session_account_connect_attrs.frm new file mode 100644 index 0000000000000000000000000000000000000000..63bf428f62fe42da281505f169dd60570ed2899c GIT binary patch literal 8716 zcmeI&yH3ME5Cza{$9Z5IIRQiyinOUhN6X4t6ia@|YiLb}kkX`~=Ii(@%-F$3P#}sF zk+|DVY5~{s!PZB2>rP3LLF~jktXBP^bR>LVYk^1L&v^YF8+9=TaXu7 zsEvsuQ&!Ph7ARa*mPM7SL}LW6O&(NyuQA3fE7nn};wsNfR7P0}C-A&x_WV}n4<@pJ v;p#`Z2dgOrvWYSB0RKq}ub+kSOs+ipm^X#yO8xx_bw7U}wZrS5lWTkc0Sh|> literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/session_connect_attrs.frm b/sandbox/servers/5.7/data/performance_schema/session_connect_attrs.frm new file mode 100644 index 0000000000000000000000000000000000000000..89769963e8d7f4c00ee1ad5789733bc0cf2783b2 GIT binary patch literal 8716 zcmeI&KTm@|7zXeM3atW$R*g#?x^}9Ys~37k68?olSKN$AmoCnJIzN{9LWM>LrP3Q*tx0;ec+d7GE1$|7Bx z=uW3*+_?2dfQ23C2DUJW25S8BAufDe*8;3_K$Nt6U_y^4qO0D|JNjN>C~Yb62yfv__J zn+#u@xjFS-31~XNL=IeBDRc8 z0#D7+DDZ26qa#24|2P~dq&Uge!^Q1ehYh-rjR=VpC8av!!IyzDyq!)~dKQ{}tRo}) o6TWTibhtGrd-^0_1*Y=&vRYB`0rxD$;oZpWjmIlK)$@LaJ9B?3PXGV_ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/session_variables.frm b/sandbox/servers/5.7/data/performance_schema/session_variables.frm new file mode 100644 index 0000000000000000000000000000000000000000..4c2ff7379a4b8389924d90e60f3a240620ec9f91 GIT binary patch literal 8628 zcmeI&I|{-;5C-5stAdY^h>De*8;3_K$Nt6U_y^4qO0D|JNjN>C~Yb62yfv__J zn+#u@xjFS-31~XNL=IeBDRc8 z0#D7+DDZ26qa#24|2P~dq&Uge!^Q1ehYh-rjR=VpC8av!!IyzDyq!)~dKQ{}tRo}) o6TWTibhtGrd-^0_1*Y=&vRYB`0rxD$;oZpWjmIlK)$@LaJ9B?3PXGV_ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/setup_actors.frm b/sandbox/servers/5.7/data/performance_schema/setup_actors.frm new file mode 100644 index 0000000000000000000000000000000000000000..e3c4a52aa8b5cdd8bb7ad12b5b335c448233954a GIT binary patch literal 8665 zcmeI&u};G<5C-7iY1}#kQUoXx5=ia9(5ZQaP>d?nCRN-HOuQuG5qJk)fLCDaaTZC{ zk#0r(Z?S!feAc(wxt+;w2S9FsQU??|=^}A(fQ_q3pUZV}^#M%##B2tP`vpe|P=Epy zpa2CZKmiI+fC3bt00mA~Ac5@9Cimn27ssCY*zfgCrP3Q&Lo6rcbFC_n)UoT|X5(VzZj90n-@?(~LVm>U=jkg3KRMQ0LV)8u;k z*EbQ}%`Td-(Y6V@4Zg(?wr!RkBRF4I4@>`u)IPri_K}d2m zNBE8D-Bfen0g(cxGNHsPbbt`>tNo}>MzZLhfpMLPV_;ZsI8%TE6rcbFC_n)UP=Epy zpa2CZ@U;RO?rZP%@x|mJql3b3m-#j|Sz-^nWMxzHsMGqm91l={0u-PC1t>rP3Q&Lo z6rcbFenH@<{G^w~sr1%8fhc;KDV;K`WbqWe3 zzmcq+nPRp6y0zz`p2jW^E8tZYRFX8|gopsYuF|#_OY-sqOxnh51|)64l>!u?00k&O z0SZun0u-PC1t>s)hZS&OANFkBJD8F$FwfYU-DrP3Q&LocMv!!`RU)`P;imqD0l8k4N+Gz^MEZzjY$U2bq3Sqp8*ekp>rc+ z6QL>eA~SCY5bWP`Nj(4KtG?Z1E>Ay|*@`fV@U0N)80svIAdrTPVEi>~y_s!xvbSw4 L?58Phv9Y)U)Kn>u literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/setup_objects.frm b/sandbox/servers/5.7/data/performance_schema/setup_objects.frm new file mode 100644 index 0000000000000000000000000000000000000000..4d50a4f945908232e00db2646d7325deeebc422f GIT binary patch literal 8784 zcmeI2!A`;OkzUTC z2OWpI?Pwq7uFy3JkN^pg011!)36KB@kN^pgz^@WWJ^AVXk3&g=!wPS5;$EwJc+&B3 zCp1!AKqQG3{JM93-TPsnhE_6s)RA4a#B`80~NaY0|)pTqh#66fLb^C!-4o+6aooS!tUH z*O{}`_AhD&AD>bjc$e9WrK=*0QczG(P*89jDy~Gw zG8?edP*8w`#2?Ap*{|=_%J3*CAOR8}0TLhq5+DH*AOR8}0TLjAKTE)dZfe_Qjl_fmeuRMBG4+wF;yf!BVH&Aw z8O_up{5ad(EHOxc1W14cNPq-LfCNZ@1W14cevQD5EkFJLaaic!4i7T*u(lN}IM@>! zIfjy(xP#ZR2gjpt23iQzN~L9$h6^Rb6T@tJsiLw<(q*~*=AEjGB!vsVoE0jJt0a~R z{ACthDRIT{;3T;WUbOS9DB;7E_ezCU5N|9qn{g)3{#fQRhJyiaEliEziQxJo+>5aJ z6gqwo;L*aNaX8}eocS}Jq%R|wGrDbYT-!T`@Ams<1jGw_uwKQXcg^T8JJC%Wy6HhD Vxi;17ZRr|1iRVg(QJJii#yggUP=5db literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/socket_summary_by_event_name.frm b/sandbox/servers/5.7/data/performance_schema/socket_summary_by_event_name.frm new file mode 100644 index 0000000000000000000000000000000000000000..921273fed330f32f97ba979bb89a54905069e1bd GIT binary patch literal 9740 zcmeI2F>ljA6o6k`Crx6vc4IfFg&`FaVkqjwz<`rp!GoR3c3PM${skivBW#R}jEszo zNGyzujEszoNSJ%?V&4<$09&L!OHuN^v)_C7-Q5)b?u~D40faq(d-@Ab9B40R2qS<# zhDR+6^^fQ?z=IYX9|O$VK)%I*7!U(uKn#chF(3xSfEW-1Vn7UtfsHlbK(n#ENn@LD zU;^i=I9nE3k}p(UE*`5aFp-`_yhf?|24iG zxB;$nU%vuz;ylwYL73|trt4p?dvWB%cV_>1feW6xPi4 zS6N-9nJVhbB&}c@f-KEB8A6a;JmO@e?@69;GH$aLDmev@XC>nEtVDKrRwBDRE0F*W zu)BPf&2@XrvwHrtQe{nJA^2t^rR4&iL*Mye1-oxbSd-gu}#!I6F^#*1Tk*@HQP zp$3CMgI5e}BY4BW5W!mpMhM<9Fvg_s8SwCq4-EJSJ~FU_;1dJ82)-~79BA;Bfza3B z8v}cx2HzQ&Ao#&Rgy1IwF@j$V>>p~dtl?J7_Re*hL$9`gVI literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/socket_summary_by_instance.frm b/sandbox/servers/5.7/data/performance_schema/socket_summary_by_instance.frm new file mode 100644 index 0000000000000000000000000000000000000000..e5de268c6e79e239931dce0228fb40a502ab72d9 GIT binary patch literal 9804 zcmeI2F>ljQ5P;8ak|uFlyNMgo0#XqZVki<@B_y2mwHVb-d>OOk1rp85S}?OA<#w8@esTaVBJUXQh+Xj*8=niyb+*J;H>~2C4DEr zfUbBizy^U20&EiaB!ExgvjD*kf-eGW4G?@4U>G3yCcucmcL72IKLpq&u;yAH<6Q)v z04Lb_b;z6b9hmX$);u2m;ip109)&dIAh`1&9Dj3M&H_;V_lT0eXN=Jxb@E0P{kL z>DY}TeoK+<7s=25q%85rP3Q*u21nQXC z^m&>lX41FItUs`c`PujJ3ilk&!9AW*;9JS1{{=UN5G%aOC$p*eq6W-x52=cfwt^0W zX8W%{MPxNS&ul7X6M8VsUQj}HVbY=LjqP$`5{oh-A6S_2+#=L*i~vw;$+yj<~h2bv0alMUNC^5vCL0m3YN&T~yUJRE@6Jkjd`ojl-90SZun z0u-PC1t>rP3Q&Lo6rjMr74TqPZ?;pw<+|sA0u-PC1t>rP3Q&Lo6rey61X`GzWH?J= zJsp^JIvAN)|MgufLi_BokOD^~KmG4`Dfn37OQs&S^%v(b#}mABv_jx}kKJ1zMGzny z&C-R8O*ED|`OxnZv!3eMpoGXJmU{AO5QO7>c8l7{O{Y{wEgJd<-xBoYi)7}a6alr3 U0(O^#&1zd$Co6o7&Q&db0e|vF^8f$< literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/status_by_thread.frm b/sandbox/servers/5.7/data/performance_schema/status_by_thread.frm new file mode 100644 index 0000000000000000000000000000000000000000..a8a1c88ef64bbc211a37cb79c8207ec9747ca4a0 GIT binary patch literal 8668 zcmeI&JC4FI6a~+UDb?mU)da~fc+e~Av z#>s3fZzpOy70=Xgu9Jm|G|C7}uv7D`hUP2^7I>ilOVlof_ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/status_by_user.frm b/sandbox/servers/5.7/data/performance_schema/status_by_user.frm new file mode 100644 index 0000000000000000000000000000000000000000..8653e525201db01773ea874276cde3c8aad01d6e GIT binary patch literal 8658 zcmeI&KW@S>6bA6m`GaT`5!6;p9a5=7nTUDOXZt5*iM>^iuRhRLKq?(J5$fhO@c@KX_*UoIGI(ABA9bSF1ClymPXP*0 zfC3bt00k&O0SZun0u-RY)e3m9Zf!QXu(>xmpa2CZKmiI+fC3bt00k&;3j$BbO)>l} zGCdxcc{%ttnLe!hbR2pM``{WWaGAhL$)W!pHw7OvtmQM`MDNZaM+e?Mnj!GLm+rYg zMGzpIl%|kt6RoK(e)QMK%*Q%2XdrfpsUA%Xf-p_1S=2&i+Lm(FqNV@vDM4SJSngaj XVj%jLU~x>?se7X&k07O^Ma$4oye$mR;m(Ec)g~rBM&pAR@l0VT zH8F8%>Y0Qv=Vu0(Z%3FNh>+0qf6U3YPP$?YbmI! z5iiDOM5Ev9L6{h+DHct!90~#op7WsDrQoI%wA4)>=`m`AdP-XbM}(?_w1lGjnTW0w Whwg7%q~9R&S}UYm1nJiLQ+xsWoN!eD literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/table_io_waits_summary_by_index_usage.frm b/sandbox/servers/5.7/data/performance_schema/table_io_waits_summary_by_index_usage.frm new file mode 100644 index 0000000000000000000000000000000000000000..069c2a109158707a26a36a5dc8962782968d2d31 GIT binary patch literal 10578 zcmeI2J8aWX6oyY8&C8A-iQ|c)vVd496C=V+ZfQ{SkmEjB$i~Qo7!deM<4@Ornw z&ZcuD9);QQLnOZJ$xe~6q0*Gt(K#rQyG4olIfg-g+>jZ4v}gG`<#aP6x#qZbR*;?1Hvlc}cwMs{ZEtc$Lf%u}((#gn zS`FHJAaCnPM>mup0MKKQ0`M4I2jDZf382r?I{*UixCbC)a34U#U>`utU=Cp5OK=Qe z7)kI1K*HcDfDwad08$1o05n1@aWo#bZt%MdZp5}cB%0PE?rxfuC2>luUxv;E72B e0aj>$6_y>9&;Tve(+PwISfK${SawuG1L!ZYP}H*k literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/table_io_waits_summary_by_table.frm b/sandbox/servers/5.7/data/performance_schema/table_io_waits_summary_by_table.frm new file mode 100644 index 0000000000000000000000000000000000000000..3c8f309b3c477eb2a533fbf6600f0f1e6c6650c3 GIT binary patch literal 10488 zcmeI2KWx)b5Qi^m{xxx8J8?3BR0fb3P+1s}aFbUWz-g2?6eLh4M#hdv3@|dX!N|zS zh*Sx|#>mLX$cV%Mgm>>f`~60cKtkdyRrP(oemegmpVZbrD(zESL{Ww4qW(sAbm5L_ zi?)gCT%9Rcq)!I#h^`l4cb90VDCD~&APGnUl7J*22}lBxfFvLZNCJ|8Bp?a=vk6pb zQ_kkkN+c(efF$ro66n)hE%px=Svni5^>Tcmveb(8pV8!y1SA1TKoXDyBmqf45|9KW z0ZHJmCh)bT|LOl9A5}U>@z%E*={FzJY7xYoMr2=vIIbjvYI1((7Z0jYaJY9(jq`PW zd#?1`6FpbDU-la1^;w!JYEox>xSHkbWu7jmMd5Olt@CN77VD#Qn(G%Z!fZN2(xx!I zc@;@V_oTOw1ch~>(g}6ZYDf>QhJ=zg?}}lq&mhP`W*|=?^uL>$71w5)-U`Mbwg?Y0R4_7=yz<0e#b`W zcdQnSPlz9shx#kjF9y|n=?T37(BO_o72nb9Bnhc1?OoAbE&U^{P=gG>HiH#_HiNqW zIt=as2v~X_K$km?0rVI=01z^G3?O3g1V9{U@DxBl(%?CO0fQF+5(X~;3>mxvFki*vhSi;CCl#_!gRe~5Xp zZv69WO8@BEtL0N`N~_@|2pUs*jVZmxUM)4IgzX6)vrTax-iRA-a@R|ht*y(fEO6P{ z4`plba@R|jt*y)MCy+VdZ4P){(NX#wutK|#KeL{r@NhS0zWOlulj!FhT)j$kDId6Z*8$f7*8$f7*8$f7*8$f7*8$f7 z*8$f7*8$go|7-_JbgI3XPa3%ot^=+Et^?oDfj%9D(GSaLK3Pn|cr`r;=aV$e{2Q{l zLtF=32V4hS2V4hS2V4hS2V4hS2mW0LejWV3|9xMkefqt&u9153;rnXd%Oe_*dMZM_ z9&ZGLQt;iSfB2#@dCQwWhSPPtzIzm^rzbkuF#GXS)%s#G52;42>GF87j#ukRM0M(} zj_2`uHV>otWHMW;2Qa$x*#b$Ex|7?tkhE0Hq#_Qhtww@%qD0+KDbR#Kt9+_&`?DgzX=*qKTXYr;syU;JfsJu^R|9u3}K=Q zjf^c6sx&g@P^hURv_%x^GzOz5v-Lr|I+#S^etfu`{|N^KSmp=Zqb;Ej4H>wUA83cyf5SJc-k3*`ys~!Z?q`t{tQd&6s;@9qLq>Wq998sK-y7Sbwh%C2WhjW%VgGo?RuIx?UQc2yse^Gy3_3UD$GkHsY0H|`r zZyP3})(Qd&OLX&wimIza>Rkoq02&OA0W=xh1JGh{AArY69|CA|#3KM522TKV89W8x zGk6A|=PB?UK;Kv31%LsAmjD6=uK)}gyaq7pEAR$Dd8EKQ02K!B0aO`$08nG_5kP&c zz$XBWT?IY^XfpT$pvB-T0FOcCf;lhkZ3Wr@I$UK4pvzzkz-Mq7K##!{0R5o?*8mK- z%5?w%gAl-w!5qMd!7+expujx<1l;wH0EP@c0T?m(44};5 z3xLW%fv*6nn+jCQ=K82HXalG-7y@W87z1eX*}n{+#i#NL0FS{n0LfK&9YBX8LI9`m zDNLp^ z?j4XPSzXZ&Z`sjMG8Xp)u$1lRAtM*dY0+R#i#~H|YG4NQ?E!3(p{}i&+O}ru+nVuUYv{w;fm&|t2CcWpm$=Qf3>HM`tsqKU z1yMRGh-fC=Us^UYEDdB>md>N~l9!&Q3}ZQc`M{FQYh0`aSyBtKs21dR)dKwuBSC=7 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/threads.frm b/sandbox/servers/5.7/data/performance_schema/threads.frm new file mode 100644 index 0000000000000000000000000000000000000000..246acc6c400383a7512a58bc876a0e606f2f23ec GIT binary patch literal 9201 zcmeI2F>ljA6vzLU*sbFRNtJ;oy&QLK#jC_j@jIc5B85sKk z!ooM<128clal8vS_AxP5;@#qVf4_Hk{{1K0@2Bve41rJpbGqQnMLPx_M!+t9+G-(9 z9()0wx5D{3aM}iZWdclq2`~XBzyz286JP>NfC(@GCcp&lEr9{_{%pFN?lqn;0Vco% zm_UyJeK4J2CF{$oE|M~p8NfC(@GCcp%k028=B1ilUFr~iLE z1g1C^in<)m+|Ljgnw|%&@DTov%CQKhgZSC$KMpwXn`JGNY?EiyJK>f|A#nh=xmigZ zB3RW`DwVpZ7t zBt5pZOI}`92uMq6SvH&Q8A7;qbuAHLl9#Hf*9F~|85}>3i531$t&8o zEjfy4(RV|nMlg#`W-qq*(94)co`O!0f^pFjvV|4?@z2tXd6uwq&QgqR`fty)F--T}($F_j I>9W%J1)&PAzyJUM literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/performance_schema/user_variables_by_thread.frm b/sandbox/servers/5.7/data/performance_schema/user_variables_by_thread.frm new file mode 100644 index 0000000000000000000000000000000000000000..eadf3eb131f6efd703c9461256f0312e6553a907 GIT binary patch literal 8668 zcmeI&Jx;?w5QgE`KZ%Tm;s`7xB#O|HD%=1z$)ZGxLu4SWa~KXrMMIw|H$lRzLEdzT z5`}M?-I-$6^R%9iAiap7AHcOc*y1BhID$@-U$(`*yPUqlRa+R1V9+KyB_II_NI(J- zkbndvAOQ(TKmro@vjQQt|F-?jmk#1`!pfF+_hn(06I(q@X0|ZjgB>5ld>TRm5|Drd zBp?9^NI(J-kbndv@RPtUa6kS3aRfwc*g1hML+`NS47U;CVnZB-`Ec;dASQjBmDWtF z`PA)B^wy@FoAJU{OH)|7WWKOAiziE*<~bpZZ{1^w+q3BO%nPYYnnLCZ-7HCXgY)Mc T-fy7x57fR{(|w=t9I;g903XBv`$$}a&k^%*gAM0t~97%Hh3f%UM`5c(^1y>4CfC3bt z00k&O0SZun0u-PC1^%r-f)KwgO#T@0&6t$fSiflex^~9yTJvPrpQj4L_zV*YP=Epy zpa2CZKmiI+fC3bt00qt{@TTOa{{@Faianl1pvEjZY;XhhQSFhXiM~7aPy`wBZEL+; zo6u(Ky>;ErG|pMmEgRQjfU;}4diAZD+UDb?mU)da~fc+e~Av z#>s3fZzpOy70=Xgu9Jm|G|C7}uv7D`hUP2^7I>ilOVlof_ literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/sys/db.opt b/sandbox/servers/5.7/data/sys/db.opt new file mode 100644 index 00000000..4ed6015f --- /dev/null +++ b/sandbox/servers/5.7/data/sys/db.opt @@ -0,0 +1,2 @@ +default-character-set=utf8 +default-collation=utf8_general_ci diff --git a/sandbox/servers/5.7/data/sys/host_summary.frm b/sandbox/servers/5.7/data/sys/host_summary.frm new file mode 100644 index 00000000..fc6dd763 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/host_summary.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) AS `host`,sum(`stmt`.`total`) AS `statements`,`sys`.`format_time`(sum(`stmt`.`total_latency`)) AS `statement_latency`,`sys`.`format_time`((sum(`stmt`.`total_latency`) / sum(`stmt`.`total`))) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,`sys`.`format_time`(sum(`io`.`io_latency`)) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`USER`) AS `unique_users`,`sys`.`format_bytes`(sum(`mem`.`current_allocated`)) AS `current_memory`,`sys`.`format_bytes`(sum(`mem`.`total_allocated`)) AS `total_memory_allocated` from (((`performance_schema`.`accounts` join `sys`.`x$host_summary_by_statement_latency` `stmt` on((`performance_schema`.`accounts`.`HOST` = `stmt`.`host`))) join `sys`.`x$host_summary_by_file_io` `io` on((`performance_schema`.`accounts`.`HOST` = `io`.`host`))) join `sys`.`x$memory_by_host_by_current_bytes` `mem` on((`performance_schema`.`accounts`.`HOST` = `mem`.`host`))) group by if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) +md5=b19afb1fde05589daf03c91976bcf128 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(accounts.host IS NULL, \'background\', accounts.host) AS host, SUM(stmt.total) AS statements, sys.format_time(SUM(stmt.total_latency)) AS statement_latency, sys.format_time(SUM(stmt.total_latency) / SUM(stmt.total)) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, sys.format_time(SUM(io.io_latency)) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT user) AS unique_users, sys.format_bytes(SUM(mem.current_allocated)) AS current_memory, sys.format_bytes(SUM(mem.total_allocated)) AS total_memory_allocated FROM performance_schema.accounts JOIN sys.x$host_summary_by_statement_latency AS stmt ON accounts.host = stmt.host JOIN sys.x$host_summary_by_file_io AS io ON accounts.host = io.host JOIN sys.x$memory_by_host_by_current_bytes mem ON accounts.host = mem.host GROUP BY IF(accounts.host IS NULL, \'background\', accounts.host) +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) AS `host`,sum(`stmt`.`total`) AS `statements`,`sys`.`format_time`(sum(`stmt`.`total_latency`)) AS `statement_latency`,`sys`.`format_time`((sum(`stmt`.`total_latency`) / sum(`stmt`.`total`))) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,`sys`.`format_time`(sum(`io`.`io_latency`)) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`USER`) AS `unique_users`,`sys`.`format_bytes`(sum(`mem`.`current_allocated`)) AS `current_memory`,`sys`.`format_bytes`(sum(`mem`.`total_allocated`)) AS `total_memory_allocated` from (((`performance_schema`.`accounts` join `sys`.`x$host_summary_by_statement_latency` `stmt` on((`performance_schema`.`accounts`.`HOST` = `stmt`.`host`))) join `sys`.`x$host_summary_by_file_io` `io` on((`performance_schema`.`accounts`.`HOST` = `io`.`host`))) join `sys`.`x$memory_by_host_by_current_bytes` `mem` on((`performance_schema`.`accounts`.`HOST` = `mem`.`host`))) group by if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) diff --git a/sandbox/servers/5.7/data/sys/host_summary_by_file_io.frm b/sandbox/servers/5.7/data/sys/host_summary_by_file_io.frm new file mode 100644 index 00000000..e0ff8fbb --- /dev/null +++ b/sandbox/servers/5.7/data/sys/host_summary_by_file_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR`) AS `ios`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`)) AS `io_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=53b0d9b1a70d1f81690a79d9d4d8f59c +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUM(count_star) AS ios, sys.format_time(SUM(sum_timer_wait)) AS io_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE \'wait/io/file/%\' GROUP BY IF(host IS NULL, \'background\', host) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR`) AS `ios`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`)) AS `io_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/host_summary_by_file_io_type.frm b/sandbox/servers/5.7/data/sys/host_summary_by_file_io_type.frm new file mode 100644 index 00000000..a0c55c12 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/host_summary_by_file_io_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=58bace9fd830c2b849772ce5d565917e +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE \'wait/io/file%\' AND count_star > 0 ORDER BY IF(host IS NULL, \'background\', host), sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/host_summary_by_stages.frm b/sandbox/servers/5.7/data/sys/host_summary_by_stages.frm new file mode 100644 index 00000000..4416e5dc --- /dev/null +++ b/sandbox/servers/5.7/data/sys/host_summary_by_stages.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency` from `performance_schema`.`events_stages_summary_by_host_by_event_name` where (`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=b6ea9b98daa223ec9e82b8abb20f25f0 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency FROM performance_schema.events_stages_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, \'background\', host), sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency` from `performance_schema`.`events_stages_summary_by_host_by_event_name` where (`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/host_summary_by_statement_latency.frm b/sandbox/servers/5.7/data/sys/host_summary_by_statement_latency.frm new file mode 100644 index 00000000..841a59a7 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/host_summary_by_statement_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME`)) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=46e696edfe878e69fc229bc0e9d294cd +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUM(count_star) AS total, sys.format_time(SUM(sum_timer_wait)) AS total_latency, sys.format_time(SUM(max_timer_wait)) AS max_latency, sys.format_time(SUM(sum_lock_time)) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name GROUP BY IF(host IS NULL, \'background\', host) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME`)) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/host_summary_by_statement_type.frm b/sandbox/servers/5.7/data/sys/host_summary_by_statement_type.frm new file mode 100644 index 00000000..2ed942f8 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/host_summary_by_statement_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,substring_index(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` where (`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=03d6f6f9200806eaa8c31c116d71d808 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUBSTRING_INDEX(event_name, \'/\', -1) AS statement, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(max_timer_wait) AS max_latency, sys.format_time(sum_lock_time) AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, \'background\', host), sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,substring_index(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` where (`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_schema.frm b/sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_schema.frm new file mode 100644 index 00000000..5ff9fd63 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_schema.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,`sys`.`format_bytes`(sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`))) AS `allocated`,`sys`.`format_bytes`(sum(`ibp`.`DATA_SIZE`)) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round((sum(`ibp`.`NUMBER_RECORDS`) / count(distinct `ibp`.`INDEX_NAME`)),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc +md5=914b21fb180a013d18138472c3de04af +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:47:59 +create-version=1 +source=SELECT IF(LOCATE(\'.\', ibp.table_name) = 0, \'InnoDB System\', REPLACE(SUBSTRING_INDEX(ibp.table_name, \'.\', 1), \'`\', \'\')) AS object_schema, sys.format_bytes(SUM(IF(ibp.compressed_size = 0, 16384, compressed_size))) AS allocated, sys.format_bytes(SUM(ibp.data_size)) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = \'YES\', 1, 0)) AS pages_hashed, COUNT(IF(ibp.is_old = \'YES\', 1, 0)) AS pages_old, ROUND(SUM(ibp.number_records)/COUNT(DISTINCT ibp.index_name)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,`sys`.`format_bytes`(sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`))) AS `allocated`,`sys`.`format_bytes`(sum(`ibp`.`DATA_SIZE`)) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round((sum(`ibp`.`NUMBER_RECORDS`) / count(distinct `ibp`.`INDEX_NAME`)),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc diff --git a/sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_table.frm b/sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_table.frm new file mode 100644 index 00000000..860f7cd6 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/innodb_buffer_stats_by_table.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',-(1)),\'`\',\'\') AS `object_name`,`sys`.`format_bytes`(sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`))) AS `allocated`,`sys`.`format_bytes`(sum(`ibp`.`DATA_SIZE`)) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round((sum(`ibp`.`NUMBER_RECORDS`) / count(distinct `ibp`.`INDEX_NAME`)),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema`,`object_name` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc +md5=7a62ac908552913b6b09e72f2df002f6 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(LOCATE(\'.\', ibp.table_name) = 0, \'InnoDB System\', REPLACE(SUBSTRING_INDEX(ibp.table_name, \'.\', 1), \'`\', \'\')) AS object_schema, REPLACE(SUBSTRING_INDEX(ibp.table_name, \'.\', -1), \'`\', \'\') AS object_name, sys.format_bytes(SUM(IF(ibp.compressed_size = 0, 16384, compressed_size))) AS allocated, sys.format_bytes(SUM(ibp.data_size)) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = \'YES\', 1, 0)) AS pages_hashed, COUNT(IF(ibp.is_old = \'YES\', 1, 0)) AS pages_old, ROUND(SUM(ibp.number_records)/COUNT(DISTINCT ibp.index_name)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema, object_name ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',-(1)),\'`\',\'\') AS `object_name`,`sys`.`format_bytes`(sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`))) AS `allocated`,`sys`.`format_bytes`(sum(`ibp`.`DATA_SIZE`)) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round((sum(`ibp`.`NUMBER_RECORDS`) / count(distinct `ibp`.`INDEX_NAME`)),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema`,`object_name` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc diff --git a/sandbox/servers/5.7/data/sys/innodb_lock_waits.frm b/sandbox/servers/5.7/data/sys/innodb_lock_waits.frm new file mode 100644 index 00000000..2f8296b2 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/innodb_lock_waits.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `r`.`trx_wait_started` AS `wait_started`,timediff(now(),`r`.`trx_wait_started`) AS `wait_age`,timestampdiff(SECOND,`r`.`trx_wait_started`,now()) AS `wait_age_secs`,`rl`.`lock_table` AS `locked_table`,`rl`.`lock_index` AS `locked_index`,`rl`.`lock_type` AS `locked_type`,`r`.`trx_id` AS `waiting_trx_id`,`r`.`trx_started` AS `waiting_trx_started`,timediff(now(),`r`.`trx_started`) AS `waiting_trx_age`,`r`.`trx_rows_locked` AS `waiting_trx_rows_locked`,`r`.`trx_rows_modified` AS `waiting_trx_rows_modified`,`r`.`trx_mysql_thread_id` AS `waiting_pid`,`sys`.`format_statement`(`r`.`trx_query`) AS `waiting_query`,`rl`.`lock_id` AS `waiting_lock_id`,`rl`.`lock_mode` AS `waiting_lock_mode`,`b`.`trx_id` AS `blocking_trx_id`,`b`.`trx_mysql_thread_id` AS `blocking_pid`,`sys`.`format_statement`(`b`.`trx_query`) AS `blocking_query`,`bl`.`lock_id` AS `blocking_lock_id`,`bl`.`lock_mode` AS `blocking_lock_mode`,`b`.`trx_started` AS `blocking_trx_started`,timediff(now(),`b`.`trx_started`) AS `blocking_trx_age`,`b`.`trx_rows_locked` AS `blocking_trx_rows_locked`,`b`.`trx_rows_modified` AS `blocking_trx_rows_modified`,concat(\'KILL QUERY \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_query`,concat(\'KILL \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_connection` from ((((`information_schema`.`innodb_lock_waits` `w` join `information_schema`.`innodb_trx` `b` on((`b`.`trx_id` = `w`.`blocking_trx_id`))) join `information_schema`.`innodb_trx` `r` on((`r`.`trx_id` = `w`.`requesting_trx_id`))) join `information_schema`.`innodb_locks` `bl` on((`bl`.`lock_id` = `w`.`blocking_lock_id`))) join `information_schema`.`innodb_locks` `rl` on((`rl`.`lock_id` = `w`.`requested_lock_id`))) order by `r`.`trx_wait_started` +md5=6337263700834988be1dab771904c81c +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) AS wait_age, TIMESTAMPDIFF(SECOND, r.trx_wait_started, NOW()) AS wait_age_secs, rl.lock_table AS locked_table, rl.lock_index AS locked_index, rl.lock_type AS locked_type, r.trx_id AS waiting_trx_id, r.trx_started as waiting_trx_started, TIMEDIFF(NOW(), r.trx_started) AS waiting_trx_age, r.trx_rows_locked AS waiting_trx_rows_locked, r.trx_rows_modified AS waiting_trx_rows_modified, r.trx_mysql_thread_id AS waiting_pid, sys.format_statement(r.trx_query) AS waiting_query, rl.lock_id AS waiting_lock_id, rl.lock_mode AS waiting_lock_mode, b.trx_id AS blocking_trx_id, b.trx_mysql_thread_id AS blocking_pid, sys.format_statement(b.trx_query) AS blocking_query, bl.lock_id AS blocking_lock_id, bl.lock_mode AS blocking_lock_mode, b.trx_started AS blocking_trx_started, TIMEDIFF(NOW(), b.trx_started) AS blocking_trx_age, b.trx_rows_locked AS blocking_trx_rows_locked, b.trx_rows_modified AS blocking_trx_rows_modified, CONCAT(\'KILL QUERY \', b.trx_mysql_thread_id) AS sql_kill_blocking_query, CONCAT(\'KILL \', b.trx_mysql_thread_id) AS sql_kill_blocking_connection FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id INNER JOIN information_schema.innodb_locks bl ON bl.lock_id = w.blocking_lock_id INNER JOIN information_schema.innodb_locks rl ON rl.lock_id = w.requested_lock_id ORDER BY r.trx_wait_started +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `r`.`trx_wait_started` AS `wait_started`,timediff(now(),`r`.`trx_wait_started`) AS `wait_age`,timestampdiff(SECOND,`r`.`trx_wait_started`,now()) AS `wait_age_secs`,`rl`.`lock_table` AS `locked_table`,`rl`.`lock_index` AS `locked_index`,`rl`.`lock_type` AS `locked_type`,`r`.`trx_id` AS `waiting_trx_id`,`r`.`trx_started` AS `waiting_trx_started`,timediff(now(),`r`.`trx_started`) AS `waiting_trx_age`,`r`.`trx_rows_locked` AS `waiting_trx_rows_locked`,`r`.`trx_rows_modified` AS `waiting_trx_rows_modified`,`r`.`trx_mysql_thread_id` AS `waiting_pid`,`sys`.`format_statement`(`r`.`trx_query`) AS `waiting_query`,`rl`.`lock_id` AS `waiting_lock_id`,`rl`.`lock_mode` AS `waiting_lock_mode`,`b`.`trx_id` AS `blocking_trx_id`,`b`.`trx_mysql_thread_id` AS `blocking_pid`,`sys`.`format_statement`(`b`.`trx_query`) AS `blocking_query`,`bl`.`lock_id` AS `blocking_lock_id`,`bl`.`lock_mode` AS `blocking_lock_mode`,`b`.`trx_started` AS `blocking_trx_started`,timediff(now(),`b`.`trx_started`) AS `blocking_trx_age`,`b`.`trx_rows_locked` AS `blocking_trx_rows_locked`,`b`.`trx_rows_modified` AS `blocking_trx_rows_modified`,concat(\'KILL QUERY \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_query`,concat(\'KILL \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_connection` from ((((`information_schema`.`innodb_lock_waits` `w` join `information_schema`.`innodb_trx` `b` on((`b`.`trx_id` = `w`.`blocking_trx_id`))) join `information_schema`.`innodb_trx` `r` on((`r`.`trx_id` = `w`.`requesting_trx_id`))) join `information_schema`.`innodb_locks` `bl` on((`bl`.`lock_id` = `w`.`blocking_lock_id`))) join `information_schema`.`innodb_locks` `rl` on((`rl`.`lock_id` = `w`.`requested_lock_id`))) order by `r`.`trx_wait_started` diff --git a/sandbox/servers/5.7/data/sys/io_by_thread_by_latency.frm b/sandbox/servers/5.7/data/sys/io_by_thread_by_latency.frm new file mode 100644 index 00000000..221efb13 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/io_by_thread_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`threads`.`PROCESSLIST_ID`),substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),concat(`performance_schema`.`threads`.`PROCESSLIST_USER`,\'@\',`performance_schema`.`threads`.`PROCESSLIST_HOST`)) AS `user`,sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(min(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MIN_TIMER_WAIT`)) AS `min_latency`,`sys`.`format_time`(avg(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`AVG_TIMER_WAIT`)) AS `avg_latency`,`sys`.`format_time`(max(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency`,`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` AS `thread_id`,`performance_schema`.`threads`.`PROCESSLIST_ID` AS `processlist_id` from (`performance_schema`.`events_waits_summary_by_thread_by_event_name` left join `performance_schema`.`threads` on((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) where ((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT` > 0)) group by `performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID`,`performance_schema`.`threads`.`PROCESSLIST_ID`,`user` order by sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=fe56c06bf38d44519df4836baad15a98 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(processlist_id IS NULL, SUBSTRING_INDEX(name, \'/\', -1), CONCAT(processlist_user, \'@\', processlist_host) ) user, SUM(count_star) total, sys.format_time(SUM(sum_timer_wait)) total_latency, sys.format_time(MIN(min_timer_wait)) min_latency, sys.format_time(AVG(avg_timer_wait)) avg_latency, sys.format_time(MAX(max_timer_wait)) max_latency, thread_id, processlist_id FROM performance_schema.events_waits_summary_by_thread_by_event_name LEFT JOIN performance_schema.threads USING (thread_id) WHERE event_name LIKE \'wait/io/file/%\' AND sum_timer_wait > 0 GROUP BY thread_id, processlist_id, user ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`threads`.`PROCESSLIST_ID`),substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),concat(`performance_schema`.`threads`.`PROCESSLIST_USER`,\'@\',`performance_schema`.`threads`.`PROCESSLIST_HOST`)) AS `user`,sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(min(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MIN_TIMER_WAIT`)) AS `min_latency`,`sys`.`format_time`(avg(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`AVG_TIMER_WAIT`)) AS `avg_latency`,`sys`.`format_time`(max(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency`,`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` AS `thread_id`,`performance_schema`.`threads`.`PROCESSLIST_ID` AS `processlist_id` from (`performance_schema`.`events_waits_summary_by_thread_by_event_name` left join `performance_schema`.`threads` on((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) where ((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT` > 0)) group by `performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID`,`performance_schema`.`threads`.`PROCESSLIST_ID`,`user` order by sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/io_global_by_file_by_bytes.frm b/sandbox/servers/5.7/data/sys/io_global_by_file_by_bytes.frm new file mode 100644 index 00000000..5d103f97 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/io_global_by_file_by_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_path`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_read`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_READ`,0)),0)) AS `avg_read`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total_written`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE`,0)),0.00)) AS `avg_write`,`sys`.`format_bytes`((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`)) AS `total`,ifnull(round((100 - ((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`),0)) * 100)),2),0.00) AS `write_pct` from `performance_schema`.`file_summary_by_instance` order by (`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) desc +md5=8c02fc34f3bd91f6315a1432a76512cf +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT sys.format_path(file_name) AS file, count_read, sys.format_bytes(sum_number_of_bytes_read) AS total_read, sys.format_bytes(IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0)) AS avg_read, count_write, sys.format_bytes(sum_number_of_bytes_write) AS total_written, sys.format_bytes(IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0.00)) AS avg_write, sys.format_bytes(sum_number_of_bytes_read + sum_number_of_bytes_write) AS total, IFNULL(ROUND(100-((sum_number_of_bytes_read/ NULLIF((sum_number_of_bytes_read+sum_number_of_bytes_write), 0))*100), 2), 0.00) AS write_pct FROM performance_schema.file_summary_by_instance ORDER BY sum_number_of_bytes_read + sum_number_of_bytes_write DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_path`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_read`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_READ`,0)),0)) AS `avg_read`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total_written`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE`,0)),0.00)) AS `avg_write`,`sys`.`format_bytes`((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`)) AS `total`,ifnull(round((100 - ((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`),0)) * 100)),2),0.00) AS `write_pct` from `performance_schema`.`file_summary_by_instance` order by (`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) desc diff --git a/sandbox/servers/5.7/data/sys/io_global_by_file_by_latency.frm b/sandbox/servers/5.7/data/sys/io_global_by_file_by_latency.frm new file mode 100644 index 00000000..f1f83271 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/io_global_by_file_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_path`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_READ`) AS `read_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WRITE`) AS `write_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_MISC` AS `count_misc`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_MISC`) AS `misc_latency` from `performance_schema`.`file_summary_by_instance` order by `performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT` desc +md5=df1590c01c7120af1cfc8bf4d4c33e23 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT sys.format_path(file_name) AS file, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, count_read, sys.format_time(sum_timer_read) AS read_latency, count_write, sys.format_time(sum_timer_write) AS write_latency, count_misc, sys.format_time(sum_timer_misc) AS misc_latency FROM performance_schema.file_summary_by_instance ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_path`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_READ`) AS `read_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WRITE`) AS `write_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_MISC` AS `count_misc`,`sys`.`format_time`(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_MISC`) AS `misc_latency` from `performance_schema`.`file_summary_by_instance` order by `performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/io_global_by_wait_by_bytes.frm b/sandbox/servers/5.7/data/sys/io_global_by_wait_by_bytes.frm new file mode 100644 index 00000000..ee54a6cd --- /dev/null +++ b/sandbox/servers/5.7/data/sys/io_global_by_wait_by_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_read`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0)) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total_written`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0)) AS `avg_written`,`sys`.`format_bytes`((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`)) AS `total_requested` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by (`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) desc +md5=9cdc5178b49a1a4b3731c076c96bcaaf +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name, \'/\', -2) event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(min_timer_wait) AS min_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency, count_read, sys.format_bytes(sum_number_of_bytes_read) AS total_read, sys.format_bytes(IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0)) AS avg_read, count_write, sys.format_bytes(sum_number_of_bytes_write) AS total_written, sys.format_bytes(IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0)) AS avg_written, sys.format_bytes(sum_number_of_bytes_write + sum_number_of_bytes_read) AS total_requested FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE \'wait/io/file/%\' AND count_star > 0 ORDER BY sum_number_of_bytes_write + sum_number_of_bytes_read DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_read`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0)) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total_written`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0)) AS `avg_written`,`sys`.`format_bytes`((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`)) AS `total_requested` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by (`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) desc diff --git a/sandbox/servers/5.7/data/sys/io_global_by_wait_by_latency.frm b/sandbox/servers/5.7/data/sys/io_global_by_wait_by_latency.frm new file mode 100644 index 00000000..94971d87 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/io_global_by_wait_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_READ`) AS `read_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WRITE`) AS `write_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_MISC`) AS `misc_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_read`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0)) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total_written`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0)) AS `avg_written` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by `performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` desc +md5=dbb53e73533dfe754576ae8988ddf3fc +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name, \'/\', -2) AS event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency, sys.format_time(sum_timer_read) AS read_latency, sys.format_time(sum_timer_write) AS write_latency, sys.format_time(sum_timer_misc) AS misc_latency, count_read, sys.format_bytes(sum_number_of_bytes_read) AS total_read, sys.format_bytes(IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0)) AS avg_read, count_write, sys.format_bytes(sum_number_of_bytes_write) AS total_written, sys.format_bytes(IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0)) AS avg_written FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE \'wait/io/file/%\' AND count_star > 0 ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_READ`) AS `read_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WRITE`) AS `write_latency`,`sys`.`format_time`(`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_MISC`) AS `misc_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_read`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0)) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`sys`.`format_bytes`(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total_written`,`sys`.`format_bytes`(ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0)) AS `avg_written` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by `performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/latest_file_io.frm b/sandbox/servers/5.7/data/sys/latest_file_io.frm new file mode 100644 index 00000000..3be420f2 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/latest_file_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`information_schema`.`processlist`.`ID`),concat(substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),\':\',`performance_schema`.`events_waits_history_long`.`THREAD_ID`),concat(`information_schema`.`processlist`.`USER`,\'@\',`information_schema`.`processlist`.`HOST`,\':\',`information_schema`.`processlist`.`ID`)) AS `thread`,`sys`.`format_path`(`performance_schema`.`events_waits_history_long`.`OBJECT_NAME`) AS `file`,`sys`.`format_time`(`performance_schema`.`events_waits_history_long`.`TIMER_WAIT`) AS `latency`,`performance_schema`.`events_waits_history_long`.`OPERATION` AS `operation`,`sys`.`format_bytes`(`performance_schema`.`events_waits_history_long`.`NUMBER_OF_BYTES`) AS `requested` from ((`performance_schema`.`events_waits_history_long` join `performance_schema`.`threads` on((`performance_schema`.`events_waits_history_long`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) left join `information_schema`.`processlist` on((`performance_schema`.`threads`.`PROCESSLIST_ID` = `information_schema`.`processlist`.`ID`))) where ((`performance_schema`.`events_waits_history_long`.`OBJECT_NAME` is not null) and (`performance_schema`.`events_waits_history_long`.`EVENT_NAME` like \'wait/io/file/%\')) order by `performance_schema`.`events_waits_history_long`.`TIMER_START` +md5=4e328242d0813b94f74ca02cfb85c9a0 +updatable=0 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(id IS NULL, CONCAT(SUBSTRING_INDEX(name, \'/\', -1), \':\', thread_id), CONCAT(user, \'@\', host, \':\', id) ) thread, sys.format_path(object_name) file, sys.format_time(timer_wait) AS latency, operation, sys.format_bytes(number_of_bytes) AS requested FROM performance_schema.events_waits_history_long JOIN performance_schema.threads USING (thread_id) LEFT JOIN information_schema.processlist ON processlist_id = id WHERE object_name IS NOT NULL AND event_name LIKE \'wait/io/file/%\' ORDER BY timer_start +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`information_schema`.`processlist`.`ID`),concat(substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),\':\',`performance_schema`.`events_waits_history_long`.`THREAD_ID`),concat(`information_schema`.`processlist`.`USER`,\'@\',`information_schema`.`processlist`.`HOST`,\':\',`information_schema`.`processlist`.`ID`)) AS `thread`,`sys`.`format_path`(`performance_schema`.`events_waits_history_long`.`OBJECT_NAME`) AS `file`,`sys`.`format_time`(`performance_schema`.`events_waits_history_long`.`TIMER_WAIT`) AS `latency`,`performance_schema`.`events_waits_history_long`.`OPERATION` AS `operation`,`sys`.`format_bytes`(`performance_schema`.`events_waits_history_long`.`NUMBER_OF_BYTES`) AS `requested` from ((`performance_schema`.`events_waits_history_long` join `performance_schema`.`threads` on((`performance_schema`.`events_waits_history_long`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) left join `information_schema`.`processlist` on((`performance_schema`.`threads`.`PROCESSLIST_ID` = `information_schema`.`processlist`.`ID`))) where ((`performance_schema`.`events_waits_history_long`.`OBJECT_NAME` is not null) and (`performance_schema`.`events_waits_history_long`.`EVENT_NAME` like \'wait/io/file/%\')) order by `performance_schema`.`events_waits_history_long`.`TIMER_START` diff --git a/sandbox/servers/5.7/data/sys/memory_by_host_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/memory_by_host_by_current_bytes.frm new file mode 100644 index 00000000..5ff1d8ab --- /dev/null +++ b/sandbox/servers/5.7/data/sys/memory_by_host_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_allocated`,`sys`.`format_bytes`(ifnull((sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`),0)),0)) AS `current_avg_alloc`,`sys`.`format_bytes`(max(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_max_alloc`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`)) AS `total_allocated` from `performance_schema`.`memory_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc +md5=7cc67055b195611b3a0d3fc5e738eb81 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUM(current_count_used) AS current_count_used, sys.format_bytes(SUM(current_number_of_bytes_used)) AS current_allocated, sys.format_bytes(IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0)) AS current_avg_alloc, sys.format_bytes(MAX(current_number_of_bytes_used)) AS current_max_alloc, sys.format_bytes(SUM(sum_number_of_bytes_alloc)) AS total_allocated FROM performance_schema.memory_summary_by_host_by_event_name GROUP BY IF(host IS NULL, \'background\', host) ORDER BY SUM(current_number_of_bytes_used) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_allocated`,`sys`.`format_bytes`(ifnull((sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`),0)),0)) AS `current_avg_alloc`,`sys`.`format_bytes`(max(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_max_alloc`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`)) AS `total_allocated` from `performance_schema`.`memory_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc diff --git a/sandbox/servers/5.7/data/sys/memory_by_thread_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/memory_by_thread_by_current_bytes.frm new file mode 100644 index 00000000..e233baf9 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/memory_by_thread_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `mt`.`THREAD_ID` AS `thread_id`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) AS `user`,sum(`mt`.`CURRENT_COUNT_USED`) AS `current_count_used`,`sys`.`format_bytes`(sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_allocated`,`sys`.`format_bytes`(ifnull((sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`mt`.`CURRENT_COUNT_USED`),0)),0)) AS `current_avg_alloc`,`sys`.`format_bytes`(max(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_max_alloc`,`sys`.`format_bytes`(sum(`mt`.`SUM_NUMBER_OF_BYTES_ALLOC`)) AS `total_allocated` from (`performance_schema`.`memory_summary_by_thread_by_event_name` `mt` join `performance_schema`.`threads` `t` on((`mt`.`THREAD_ID` = `t`.`THREAD_ID`))) group by `mt`.`THREAD_ID`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) order by sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) desc +md5=f52d32948adcd2fc220877ecb408580f +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT thread_id, IF(t.name = \'thread/sql/one_connection\', CONCAT(t.processlist_user, \'@\', t.processlist_host), REPLACE(t.name, \'thread/\', \'\')) user, SUM(mt.current_count_used) AS current_count_used, sys.format_bytes(SUM(mt.current_number_of_bytes_used)) AS current_allocated, sys.format_bytes(IFNULL(SUM(mt.current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0)) AS current_avg_alloc, sys.format_bytes(MAX(mt.current_number_of_bytes_used)) AS current_max_alloc, sys.format_bytes(SUM(mt.sum_number_of_bytes_alloc)) AS total_allocated FROM performance_schema.memory_summary_by_thread_by_event_name AS mt JOIN performance_schema.threads AS t USING (thread_id) GROUP BY thread_id, IF(t.name = \'thread/sql/one_connection\', CONCAT(t.processlist_user, \'@\', t.processlist_host), REPLACE(t.name, \'thread/\', \'\')) ORDER BY SUM(current_number_of_bytes_used) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `mt`.`THREAD_ID` AS `thread_id`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) AS `user`,sum(`mt`.`CURRENT_COUNT_USED`) AS `current_count_used`,`sys`.`format_bytes`(sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_allocated`,`sys`.`format_bytes`(ifnull((sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`mt`.`CURRENT_COUNT_USED`),0)),0)) AS `current_avg_alloc`,`sys`.`format_bytes`(max(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_max_alloc`,`sys`.`format_bytes`(sum(`mt`.`SUM_NUMBER_OF_BYTES_ALLOC`)) AS `total_allocated` from (`performance_schema`.`memory_summary_by_thread_by_event_name` `mt` join `performance_schema`.`threads` `t` on((`mt`.`THREAD_ID` = `t`.`THREAD_ID`))) group by `mt`.`THREAD_ID`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) order by sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) desc diff --git a/sandbox/servers/5.7/data/sys/memory_by_user_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/memory_by_user_by_current_bytes.frm new file mode 100644 index 00000000..41700787 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/memory_by_user_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_allocated`,`sys`.`format_bytes`(ifnull((sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`),0)),0)) AS `current_avg_alloc`,`sys`.`format_bytes`(max(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_max_alloc`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`)) AS `total_allocated` from `performance_schema`.`memory_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc +md5=8ad1dc1af6f4bf51d580e1b94ced37bb +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUM(current_count_used) AS current_count_used, sys.format_bytes(SUM(current_number_of_bytes_used)) AS current_allocated, sys.format_bytes(IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0)) AS current_avg_alloc, sys.format_bytes(MAX(current_number_of_bytes_used)) AS current_max_alloc, sys.format_bytes(SUM(sum_number_of_bytes_alloc)) AS total_allocated FROM performance_schema.memory_summary_by_user_by_event_name GROUP BY IF(user IS NULL, \'background\', user) ORDER BY SUM(current_number_of_bytes_used) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_allocated`,`sys`.`format_bytes`(ifnull((sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`),0)),0)) AS `current_avg_alloc`,`sys`.`format_bytes`(max(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `current_max_alloc`,`sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`)) AS `total_allocated` from `performance_schema`.`memory_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc diff --git a/sandbox/servers/5.7/data/sys/memory_global_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/memory_global_by_current_bytes.frm new file mode 100644 index 00000000..4ddec919 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/memory_global_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`memory_summary_global_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED` AS `current_count`,`sys`.`format_bytes`(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_alloc`,`sys`.`format_bytes`(ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED`,0)),0)) AS `current_avg_alloc`,`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED` AS `high_count`,`sys`.`format_bytes`(`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED`) AS `high_alloc`,`sys`.`format_bytes`(ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED`,0)),0)) AS `high_avg_alloc` from `performance_schema`.`memory_summary_global_by_event_name` where (`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` > 0) order by `performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` desc +md5=0a3c8b3a3fa954cca8ab5b6cc3026944 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT event_name, current_count_used AS current_count, sys.format_bytes(current_number_of_bytes_used) AS current_alloc, sys.format_bytes(IFNULL(current_number_of_bytes_used / NULLIF(current_count_used, 0), 0)) AS current_avg_alloc, high_count_used AS high_count, sys.format_bytes(high_number_of_bytes_used) AS high_alloc, sys.format_bytes(IFNULL(high_number_of_bytes_used / NULLIF(high_count_used, 0), 0)) AS high_avg_alloc FROM performance_schema.memory_summary_global_by_event_name WHERE current_number_of_bytes_used > 0 ORDER BY current_number_of_bytes_used DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`memory_summary_global_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED` AS `current_count`,`sys`.`format_bytes`(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_alloc`,`sys`.`format_bytes`(ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED`,0)),0)) AS `current_avg_alloc`,`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED` AS `high_count`,`sys`.`format_bytes`(`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED`) AS `high_alloc`,`sys`.`format_bytes`(ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED`,0)),0)) AS `high_avg_alloc` from `performance_schema`.`memory_summary_global_by_event_name` where (`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` > 0) order by `performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` desc diff --git a/sandbox/servers/5.7/data/sys/memory_global_total.frm b/sandbox/servers/5.7/data/sys/memory_global_total.frm new file mode 100644 index 00000000..0b22ab9c --- /dev/null +++ b/sandbox/servers/5.7/data/sys/memory_global_total.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `total_allocated` from `performance_schema`.`memory_summary_global_by_event_name` +md5=8082fddb38d6165c0d33b88815ddf3d8 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT sys.format_bytes(SUM(CURRENT_NUMBER_OF_BYTES_USED)) total_allocated FROM performance_schema.memory_summary_global_by_event_name +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_bytes`(sum(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`)) AS `total_allocated` from `performance_schema`.`memory_summary_global_by_event_name` diff --git a/sandbox/servers/5.7/data/sys/metrics.frm b/sandbox/servers/5.7/data/sys/metrics.frm new file mode 100644 index 00000000..9f87b1f4 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/metrics.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=(select lower(`performance_schema`.`global_status`.`VARIABLE_NAME`) AS `Variable_name`,`performance_schema`.`global_status`.`VARIABLE_VALUE` AS `Variable_value`,\'Global Status\' AS `Type`,\'YES\' AS `Enabled` from `performance_schema`.`global_status`) union all (select `information_schema`.`INNODB_METRICS`.`NAME` AS `Variable_name`,`information_schema`.`INNODB_METRICS`.`COUNT` AS `Variable_value`,concat(\'InnoDB Metrics - \',`information_schema`.`INNODB_METRICS`.`SUBSYSTEM`) AS `Type`,if((`information_schema`.`INNODB_METRICS`.`STATUS` = \'enabled\'),\'YES\',\'NO\') AS `Enabled` from `information_schema`.`INNODB_METRICS` where (`information_schema`.`INNODB_METRICS`.`NAME` not in (\'lock_row_lock_time\',\'lock_row_lock_time_avg\',\'lock_row_lock_time_max\',\'lock_row_lock_waits\',\'buffer_pool_reads\',\'buffer_pool_read_requests\',\'buffer_pool_write_requests\',\'buffer_pool_wait_free\',\'buffer_pool_read_ahead\',\'buffer_pool_read_ahead_evicted\',\'buffer_pool_pages_total\',\'buffer_pool_pages_misc\',\'buffer_pool_pages_data\',\'buffer_pool_bytes_data\',\'buffer_pool_pages_dirty\',\'buffer_pool_bytes_dirty\',\'buffer_pool_pages_free\',\'buffer_pages_created\',\'buffer_pages_written\',\'buffer_pages_read\',\'buffer_data_reads\',\'buffer_data_written\',\'file_num_open_files\',\'os_log_bytes_written\',\'os_log_fsyncs\',\'os_log_pending_fsyncs\',\'os_log_pending_writes\',\'log_waits\',\'log_write_requests\',\'log_writes\',\'innodb_dblwr_writes\',\'innodb_dblwr_pages_written\',\'innodb_page_size\'))) union all (select \'memory_current_allocated\' AS `Variable_name`,sum(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `Variable_value`,\'Performance Schema\' AS `Type`,if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = 0),\'NO\',if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = (select count(0) from `performance_schema`.`setup_instruments` where (`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\'))),\'YES\',\'PARTIAL\')) AS `Enabled` from `performance_schema`.`memory_summary_global_by_event_name`) union all (select \'memory_total_allocated\' AS `Variable_name`,sum(`performance_schema`.`memory_summary_global_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `Variable_value`,\'Performance Schema\' AS `Type`,if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = 0),\'NO\',if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = (select count(0) from `performance_schema`.`setup_instruments` where (`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\'))),\'YES\',\'PARTIAL\')) AS `Enabled` from `performance_schema`.`memory_summary_global_by_event_name`) union all (select \'NOW()\' AS `Variable_name`,now(3) AS `Variable_value`,\'System Time\' AS `Type`,\'YES\' AS `Enabled`) union all (select \'UNIX_TIMESTAMP()\' AS `Variable_name`,round(unix_timestamp(now(3)),3) AS `Variable_value`,\'System Time\' AS `Type`,\'YES\' AS `Enabled`) order by `Type`,`Variable_name` +md5=68a03cdfba4893ad11e38b2bc8f1e1b0 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:04 +create-version=1 +source=( SELECT LOWER(VARIABLE_NAME) AS Variable_name, VARIABLE_VALUE AS Variable_value, \'Global Status\' AS Type, \'YES\' AS Enabled FROM performance_schema.global_status ) UNION ALL ( SELECT NAME AS Variable_name, COUNT AS Variable_value, CONCAT(\'InnoDB Metrics - \', SUBSYSTEM) AS Type, IF(STATUS = \'enabled\', \'YES\', \'NO\') AS Enabled FROM information_schema.INNODB_METRICS WHERE NAME NOT IN ( \'lock_row_lock_time\', \'lock_row_lock_time_avg\', \'lock_row_lock_time_max\', \'lock_row_lock_waits\', \'buffer_pool_reads\', \'buffer_pool_read_requests\', \'buffer_pool_write_requests\', \'buffer_pool_wait_free\', \'buffer_pool_read_ahead\', \'buffer_pool_read_ahead_evicted\', \'buffer_pool_pages_total\', \'buffer_pool_pages_misc\', \'buffer_pool_pages_data\', \'buffer_pool_bytes_data\', \'buffer_pool_pages_dirty\', \'buffer_pool_bytes_dirty\', \'buffer_pool_pages_free\', \'buffer_pages_created\', \'buffer_pages_written\', \'buffer_pages_read\', \'buffer_data_reads\', \'buffer_data_written\', \'file_num_open_files\', \'os_log_bytes_written\', \'os_log_fsyncs\', \'os_log_pending_fsyncs\', \'os_log_pending_writes\', \'log_waits\', \'log_write_requests\', \'log_writes\', \'innodb_dblwr_writes\', \'innodb_dblwr_pages_written\', \'innodb_page_size\') ) UNION ALL ( SELECT \'memory_current_allocated\' AS Variable_name, SUM(CURRENT_NUMBER_OF_BYTES_USED) AS Variable_value, \'Performance Schema\' AS Type, IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE \'memory/%\' AND ENABLED = \'YES\') = 0, \'NO\', IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE \'memory/%\' AND ENABLED = \'YES\') = (SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE \'memory/%\'), \'YES\', \'PARTIAL\')) AS Enabled FROM performance_schema.memory_summary_global_by_event_name ) UNION ALL ( SELECT \'memory_total_allocated\' AS Variable_name, SUM(SUM_NUMBER_OF_BYTES_ALLOC) AS Variable_value, \'Performance Schema\' AS Type, IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE \'memory/%\' AND ENABLED = \'YES\') = 0, \'NO\', IF((SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE \'memory/%\' AND ENABLED = \'YES\') = (SELECT COUNT(*) FROM performance_schema.setup_instruments WHERE NAME LIKE \'memory/%\'), \'YES\', \'PARTIAL\')) AS Enabled FROM performance_schema.memory_summary_global_by_event_name ) UNION ALL ( SELECT \'NOW()\' AS Variable_name, NOW(3) AS Variable_value, \'System Time\' AS Type, \'YES\' AS Enabled ) UNION ALL ( SELECT \'UNIX_TIMESTAMP()\' AS Variable_name, ROUND(UNIX_TIMESTAMP(NOW(3)), 3) AS Variable_value, \'System Time\' AS Type, \'YES\' AS Enabled ) ORDER BY Type, Variable_name +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=(select lower(`performance_schema`.`global_status`.`VARIABLE_NAME`) AS `Variable_name`,`performance_schema`.`global_status`.`VARIABLE_VALUE` AS `Variable_value`,\'Global Status\' AS `Type`,\'YES\' AS `Enabled` from `performance_schema`.`global_status`) union all (select `information_schema`.`INNODB_METRICS`.`NAME` AS `Variable_name`,`information_schema`.`INNODB_METRICS`.`COUNT` AS `Variable_value`,concat(\'InnoDB Metrics - \',`information_schema`.`INNODB_METRICS`.`SUBSYSTEM`) AS `Type`,if((`information_schema`.`INNODB_METRICS`.`STATUS` = \'enabled\'),\'YES\',\'NO\') AS `Enabled` from `information_schema`.`INNODB_METRICS` where (`information_schema`.`INNODB_METRICS`.`NAME` not in (\'lock_row_lock_time\',\'lock_row_lock_time_avg\',\'lock_row_lock_time_max\',\'lock_row_lock_waits\',\'buffer_pool_reads\',\'buffer_pool_read_requests\',\'buffer_pool_write_requests\',\'buffer_pool_wait_free\',\'buffer_pool_read_ahead\',\'buffer_pool_read_ahead_evicted\',\'buffer_pool_pages_total\',\'buffer_pool_pages_misc\',\'buffer_pool_pages_data\',\'buffer_pool_bytes_data\',\'buffer_pool_pages_dirty\',\'buffer_pool_bytes_dirty\',\'buffer_pool_pages_free\',\'buffer_pages_created\',\'buffer_pages_written\',\'buffer_pages_read\',\'buffer_data_reads\',\'buffer_data_written\',\'file_num_open_files\',\'os_log_bytes_written\',\'os_log_fsyncs\',\'os_log_pending_fsyncs\',\'os_log_pending_writes\',\'log_waits\',\'log_write_requests\',\'log_writes\',\'innodb_dblwr_writes\',\'innodb_dblwr_pages_written\',\'innodb_page_size\'))) union all (select \'memory_current_allocated\' AS `Variable_name`,sum(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `Variable_value`,\'Performance Schema\' AS `Type`,if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = 0),\'NO\',if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = (select count(0) from `performance_schema`.`setup_instruments` where (`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\'))),\'YES\',\'PARTIAL\')) AS `Enabled` from `performance_schema`.`memory_summary_global_by_event_name`) union all (select \'memory_total_allocated\' AS `Variable_name`,sum(`performance_schema`.`memory_summary_global_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `Variable_value`,\'Performance Schema\' AS `Type`,if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = 0),\'NO\',if(((select count(0) from `performance_schema`.`setup_instruments` where ((`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\') and (`performance_schema`.`setup_instruments`.`ENABLED` = \'YES\'))) = (select count(0) from `performance_schema`.`setup_instruments` where (`performance_schema`.`setup_instruments`.`NAME` like \'memory/%\'))),\'YES\',\'PARTIAL\')) AS `Enabled` from `performance_schema`.`memory_summary_global_by_event_name`) union all (select \'NOW()\' AS `Variable_name`,now(3) AS `Variable_value`,\'System Time\' AS `Type`,\'YES\' AS `Enabled`) union all (select \'UNIX_TIMESTAMP()\' AS `Variable_name`,round(unix_timestamp(now(3)),3) AS `Variable_value`,\'System Time\' AS `Type`,\'YES\' AS `Enabled`) order by `Type`,`Variable_name` diff --git a/sandbox/servers/5.7/data/sys/processlist.frm b/sandbox/servers/5.7/data/sys/processlist.frm new file mode 100644 index 00000000..ae8847d0 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/processlist.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `pps`.`THREAD_ID` AS `thd_id`,`pps`.`PROCESSLIST_ID` AS `conn_id`,if((`pps`.`NAME` = \'thread/sql/one_connection\'),concat(`pps`.`PROCESSLIST_USER`,\'@\',`pps`.`PROCESSLIST_HOST`),replace(`pps`.`NAME`,\'thread/\',\'\')) AS `user`,`pps`.`PROCESSLIST_DB` AS `db`,`pps`.`PROCESSLIST_COMMAND` AS `command`,`pps`.`PROCESSLIST_STATE` AS `state`,`pps`.`PROCESSLIST_TIME` AS `time`,`sys`.`format_statement`(`pps`.`PROCESSLIST_INFO`) AS `current_statement`,if(isnull(`esc`.`END_EVENT_ID`),`sys`.`format_time`(`esc`.`TIMER_WAIT`),NULL) AS `statement_latency`,if(isnull(`esc`.`END_EVENT_ID`),round((100 * (`estc`.`WORK_COMPLETED` / `estc`.`WORK_ESTIMATED`)),2),NULL) AS `progress`,`sys`.`format_time`(`esc`.`LOCK_TIME`) AS `lock_latency`,`esc`.`ROWS_EXAMINED` AS `rows_examined`,`esc`.`ROWS_SENT` AS `rows_sent`,`esc`.`ROWS_AFFECTED` AS `rows_affected`,`esc`.`CREATED_TMP_TABLES` AS `tmp_tables`,`esc`.`CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,if(((`esc`.`NO_GOOD_INDEX_USED` > 0) or (`esc`.`NO_INDEX_USED` > 0)),\'YES\',\'NO\') AS `full_scan`,if((`esc`.`END_EVENT_ID` is not null),`sys`.`format_statement`(`esc`.`SQL_TEXT`),NULL) AS `last_statement`,if((`esc`.`END_EVENT_ID` is not null),`sys`.`format_time`(`esc`.`TIMER_WAIT`),NULL) AS `last_statement_latency`,`sys`.`format_bytes`(`mem`.`current_allocated`) AS `current_memory`,`ewc`.`EVENT_NAME` AS `last_wait`,if((isnull(`ewc`.`END_EVENT_ID`) and (`ewc`.`EVENT_NAME` is not null)),\'Still Waiting\',`sys`.`format_time`(`ewc`.`TIMER_WAIT`)) AS `last_wait_latency`,`ewc`.`SOURCE` AS `source`,`sys`.`format_time`(`etc`.`TIMER_WAIT`) AS `trx_latency`,`etc`.`STATE` AS `trx_state`,`etc`.`AUTOCOMMIT` AS `trx_autocommit`,`conattr_pid`.`ATTR_VALUE` AS `pid`,`conattr_progname`.`ATTR_VALUE` AS `program_name` from (((((((`performance_schema`.`threads` `pps` left join `performance_schema`.`events_waits_current` `ewc` on((`pps`.`THREAD_ID` = `ewc`.`THREAD_ID`))) left join `performance_schema`.`events_stages_current` `estc` on((`pps`.`THREAD_ID` = `estc`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `esc` on((`pps`.`THREAD_ID` = `esc`.`THREAD_ID`))) left join `performance_schema`.`events_transactions_current` `etc` on((`pps`.`THREAD_ID` = `etc`.`THREAD_ID`))) left join `sys`.`x$memory_by_thread_by_current_bytes` `mem` on((`pps`.`THREAD_ID` = `mem`.`thread_id`))) left join `performance_schema`.`session_connect_attrs` `conattr_pid` on(((`conattr_pid`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_pid`.`ATTR_NAME` = \'_pid\')))) left join `performance_schema`.`session_connect_attrs` `conattr_progname` on(((`conattr_progname`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_progname`.`ATTR_NAME` = \'program_name\')))) order by `pps`.`PROCESSLIST_TIME` desc,`last_wait_latency` desc +md5=bbf8d6b8e8b6e9a163ec3db9d73042b1 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:04 +create-version=1 +source=SELECT pps.thread_id AS thd_id, pps.processlist_id AS conn_id, IF(pps.name = \'thread/sql/one_connection\', CONCAT(pps.processlist_user, \'@\', pps.processlist_host), REPLACE(pps.name, \'thread/\', \'\')) user, pps.processlist_db AS db, pps.processlist_command AS command, pps.processlist_state AS state, pps.processlist_time AS time, sys.format_statement(pps.processlist_info) AS current_statement, IF(esc.end_event_id IS NULL, sys.format_time(esc.timer_wait), NULL) AS statement_latency, IF(esc.end_event_id IS NULL, ROUND(100 * (estc.work_completed / estc.work_estimated), 2), NULL) AS progress, sys.format_time(esc.lock_time) AS lock_latency, esc.rows_examined AS rows_examined, esc.rows_sent AS rows_sent, esc.rows_affected AS rows_affected, esc.created_tmp_tables AS tmp_tables, esc.created_tmp_disk_tables AS tmp_disk_tables, IF(esc.no_good_index_used > 0 OR esc.no_index_used > 0, \'YES\', \'NO\') AS full_scan, IF(esc.end_event_id IS NOT NULL, sys.format_statement(esc.sql_text), NULL) AS last_statement, IF(esc.end_event_id IS NOT NULL, sys.format_time(esc.timer_wait), NULL) AS last_statement_latency, sys.format_bytes(mem.current_allocated) AS current_memory, ewc.event_name AS last_wait, IF(ewc.end_event_id IS NULL AND ewc.event_name IS NOT NULL, \'Still Waiting\', sys.format_time(ewc.timer_wait)) last_wait_latency, ewc.source, sys.format_time(etc.timer_wait) AS trx_latency, etc.state AS trx_state, etc.autocommit AS trx_autocommit, conattr_pid.attr_value as pid, conattr_progname.attr_value as program_name FROM performance_schema.threads AS pps LEFT JOIN performance_schema.events_waits_current AS ewc USING (thread_id) LEFT JOIN performance_schema.events_stages_current AS estc USING (thread_id) LEFT JOIN performance_schema.events_statements_current AS esc USING (thread_id) LEFT JOIN performance_schema.events_transactions_current AS etc USING (thread_id) LEFT JOIN sys.x$memory_by_thread_by_current_bytes AS mem USING (thread_id) LEFT JOIN performance_schema.session_connect_attrs AS conattr_pid ON conattr_pid.processlist_id=pps.processlist_id and conattr_pid.attr_name=\'_pid\' LEFT JOIN performance_schema.session_connect_attrs AS conattr_progname ON conattr_progname.processlist_id=pps.processlist_id and conattr_progname.attr_name=\'program_name\' ORDER BY pps.processlist_time DESC, last_wait_latency DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `pps`.`THREAD_ID` AS `thd_id`,`pps`.`PROCESSLIST_ID` AS `conn_id`,if((`pps`.`NAME` = \'thread/sql/one_connection\'),concat(`pps`.`PROCESSLIST_USER`,\'@\',`pps`.`PROCESSLIST_HOST`),replace(`pps`.`NAME`,\'thread/\',\'\')) AS `user`,`pps`.`PROCESSLIST_DB` AS `db`,`pps`.`PROCESSLIST_COMMAND` AS `command`,`pps`.`PROCESSLIST_STATE` AS `state`,`pps`.`PROCESSLIST_TIME` AS `time`,`sys`.`format_statement`(`pps`.`PROCESSLIST_INFO`) AS `current_statement`,if(isnull(`esc`.`END_EVENT_ID`),`sys`.`format_time`(`esc`.`TIMER_WAIT`),NULL) AS `statement_latency`,if(isnull(`esc`.`END_EVENT_ID`),round((100 * (`estc`.`WORK_COMPLETED` / `estc`.`WORK_ESTIMATED`)),2),NULL) AS `progress`,`sys`.`format_time`(`esc`.`LOCK_TIME`) AS `lock_latency`,`esc`.`ROWS_EXAMINED` AS `rows_examined`,`esc`.`ROWS_SENT` AS `rows_sent`,`esc`.`ROWS_AFFECTED` AS `rows_affected`,`esc`.`CREATED_TMP_TABLES` AS `tmp_tables`,`esc`.`CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,if(((`esc`.`NO_GOOD_INDEX_USED` > 0) or (`esc`.`NO_INDEX_USED` > 0)),\'YES\',\'NO\') AS `full_scan`,if((`esc`.`END_EVENT_ID` is not null),`sys`.`format_statement`(`esc`.`SQL_TEXT`),NULL) AS `last_statement`,if((`esc`.`END_EVENT_ID` is not null),`sys`.`format_time`(`esc`.`TIMER_WAIT`),NULL) AS `last_statement_latency`,`sys`.`format_bytes`(`mem`.`current_allocated`) AS `current_memory`,`ewc`.`EVENT_NAME` AS `last_wait`,if((isnull(`ewc`.`END_EVENT_ID`) and (`ewc`.`EVENT_NAME` is not null)),\'Still Waiting\',`sys`.`format_time`(`ewc`.`TIMER_WAIT`)) AS `last_wait_latency`,`ewc`.`SOURCE` AS `source`,`sys`.`format_time`(`etc`.`TIMER_WAIT`) AS `trx_latency`,`etc`.`STATE` AS `trx_state`,`etc`.`AUTOCOMMIT` AS `trx_autocommit`,`conattr_pid`.`ATTR_VALUE` AS `pid`,`conattr_progname`.`ATTR_VALUE` AS `program_name` from (((((((`performance_schema`.`threads` `pps` left join `performance_schema`.`events_waits_current` `ewc` on((`pps`.`THREAD_ID` = `ewc`.`THREAD_ID`))) left join `performance_schema`.`events_stages_current` `estc` on((`pps`.`THREAD_ID` = `estc`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `esc` on((`pps`.`THREAD_ID` = `esc`.`THREAD_ID`))) left join `performance_schema`.`events_transactions_current` `etc` on((`pps`.`THREAD_ID` = `etc`.`THREAD_ID`))) left join `sys`.`x$memory_by_thread_by_current_bytes` `mem` on((`pps`.`THREAD_ID` = `mem`.`thread_id`))) left join `performance_schema`.`session_connect_attrs` `conattr_pid` on(((`conattr_pid`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_pid`.`ATTR_NAME` = \'_pid\')))) left join `performance_schema`.`session_connect_attrs` `conattr_progname` on(((`conattr_progname`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_progname`.`ATTR_NAME` = \'program_name\')))) order by `pps`.`PROCESSLIST_TIME` desc,`last_wait_latency` desc diff --git a/sandbox/servers/5.7/data/sys/ps_check_lost_instrumentation.frm b/sandbox/servers/5.7/data/sys/ps_check_lost_instrumentation.frm new file mode 100644 index 00000000..c1ecab79 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/ps_check_lost_instrumentation.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`global_status`.`VARIABLE_NAME` AS `variable_name`,`performance_schema`.`global_status`.`VARIABLE_VALUE` AS `variable_value` from `performance_schema`.`global_status` where ((`performance_schema`.`global_status`.`VARIABLE_NAME` like \'perf%lost\') and (`performance_schema`.`global_status`.`VARIABLE_VALUE` > 0)) +md5=a4602a3a66e4c59a9e72166d18821c07 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE \'perf%lost\' AND variable_value > 0 +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`global_status`.`VARIABLE_NAME` AS `variable_name`,`performance_schema`.`global_status`.`VARIABLE_VALUE` AS `variable_value` from `performance_schema`.`global_status` where ((`performance_schema`.`global_status`.`VARIABLE_NAME` like \'perf%lost\') and (`performance_schema`.`global_status`.`VARIABLE_VALUE` > 0)) diff --git a/sandbox/servers/5.7/data/sys/schema_auto_increment_columns.frm b/sandbox/servers/5.7/data/sys/schema_auto_increment_columns.frm new file mode 100644 index 00000000..c21e52e4 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_auto_increment_columns.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `information_schema`.`COLUMNS`.`TABLE_SCHEMA` AS `table_schema`,`information_schema`.`COLUMNS`.`TABLE_NAME` AS `table_name`,`information_schema`.`COLUMNS`.`COLUMN_NAME` AS `column_name`,`information_schema`.`COLUMNS`.`DATA_TYPE` AS `data_type`,`information_schema`.`COLUMNS`.`COLUMN_TYPE` AS `column_type`,(locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) = 0) AS `is_signed`,(locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0) AS `is_unsigned`,((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1)) AS `max_value`,`information_schema`.`TABLES`.`AUTO_INCREMENT` AS `auto_increment`,(`information_schema`.`TABLES`.`AUTO_INCREMENT` / ((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1))) AS `auto_increment_ratio` from (`INFORMATION_SCHEMA`.`COLUMNS` join `INFORMATION_SCHEMA`.`TABLES` on(((`information_schema`.`COLUMNS`.`TABLE_SCHEMA` = `information_schema`.`TABLES`.`TABLE_SCHEMA`) and (`information_schema`.`COLUMNS`.`TABLE_NAME` = `information_schema`.`TABLES`.`TABLE_NAME`)))) where ((`information_schema`.`COLUMNS`.`TABLE_SCHEMA` not in (\'mysql\',\'sys\',\'INFORMATION_SCHEMA\',\'performance_schema\')) and (`information_schema`.`TABLES`.`TABLE_TYPE` = \'BASE TABLE\') and (`information_schema`.`COLUMNS`.`EXTRA` = \'auto_increment\')) order by (`information_schema`.`TABLES`.`AUTO_INCREMENT` / ((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1))) desc,((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1)) +md5=af9a109a687085ab39d8ecb2419b5c2f +updatable=0 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, (LOCATE(\'unsigned\', COLUMN_TYPE) = 0) AS is_signed, (LOCATE(\'unsigned\', COLUMN_TYPE) > 0) AS is_unsigned, ( CASE DATA_TYPE WHEN \'tinyint\' THEN 255 WHEN \'smallint\' THEN 65535 WHEN \'mediumint\' THEN 16777215 WHEN \'int\' THEN 4294967295 WHEN \'bigint\' THEN 18446744073709551615 END >> IF(LOCATE(\'unsigned\', COLUMN_TYPE) > 0, 0, 1) ) AS max_value, AUTO_INCREMENT, AUTO_INCREMENT / ( CASE DATA_TYPE WHEN \'tinyint\' THEN 255 WHEN \'smallint\' THEN 65535 WHEN \'mediumint\' THEN 16777215 WHEN \'int\' THEN 4294967295 WHEN \'bigint\' THEN 18446744073709551615 END >> IF(LOCATE(\'unsigned\', COLUMN_TYPE) > 0, 0, 1) ) AS auto_increment_ratio FROM INFORMATION_SCHEMA.COLUMNS INNER JOIN INFORMATION_SCHEMA.TABLES USING (TABLE_SCHEMA, TABLE_NAME) WHERE TABLE_SCHEMA NOT IN (\'mysql\', \'sys\', \'INFORMATION_SCHEMA\', \'performance_schema\') AND TABLE_TYPE=\'BASE TABLE\' AND EXTRA=\'auto_increment\' ORDER BY auto_increment_ratio DESC, max_value +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `information_schema`.`COLUMNS`.`TABLE_SCHEMA` AS `table_schema`,`information_schema`.`COLUMNS`.`TABLE_NAME` AS `table_name`,`information_schema`.`COLUMNS`.`COLUMN_NAME` AS `column_name`,`information_schema`.`COLUMNS`.`DATA_TYPE` AS `data_type`,`information_schema`.`COLUMNS`.`COLUMN_TYPE` AS `column_type`,(locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) = 0) AS `is_signed`,(locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0) AS `is_unsigned`,((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1)) AS `max_value`,`information_schema`.`TABLES`.`AUTO_INCREMENT` AS `auto_increment`,(`information_schema`.`TABLES`.`AUTO_INCREMENT` / ((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1))) AS `auto_increment_ratio` from (`INFORMATION_SCHEMA`.`COLUMNS` join `INFORMATION_SCHEMA`.`TABLES` on(((`information_schema`.`COLUMNS`.`TABLE_SCHEMA` = `information_schema`.`TABLES`.`TABLE_SCHEMA`) and (`information_schema`.`COLUMNS`.`TABLE_NAME` = `information_schema`.`TABLES`.`TABLE_NAME`)))) where ((`information_schema`.`COLUMNS`.`TABLE_SCHEMA` not in (\'mysql\',\'sys\',\'INFORMATION_SCHEMA\',\'performance_schema\')) and (`information_schema`.`TABLES`.`TABLE_TYPE` = \'BASE TABLE\') and (`information_schema`.`COLUMNS`.`EXTRA` = \'auto_increment\')) order by (`information_schema`.`TABLES`.`AUTO_INCREMENT` / ((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1))) desc,((case `information_schema`.`COLUMNS`.`DATA_TYPE` when \'tinyint\' then 255 when \'smallint\' then 65535 when \'mediumint\' then 16777215 when \'int\' then 4294967295 when \'bigint\' then 18446744073709551615 end) >> if((locate(\'unsigned\',`information_schema`.`COLUMNS`.`COLUMN_TYPE`) > 0),0,1)) diff --git a/sandbox/servers/5.7/data/sys/schema_index_statistics.frm b/sandbox/servers/5.7/data/sys/schema_index_statistics.frm new file mode 100644 index 00000000..6e66050f --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_index_statistics.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `table_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `table_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` AS `index_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_FETCH` AS `rows_selected`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_FETCH`) AS `select_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_INSERT` AS `rows_inserted`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT`) AS `insert_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_UPDATE` AS `rows_updated`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_UPDATE`) AS `update_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_DELETE` AS `rows_deleted`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT`) AS `delete_latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` is not null) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT` desc +md5=fbec8d951bb131de8da80e88d363097f +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT OBJECT_SCHEMA AS table_schema, OBJECT_NAME AS table_name, INDEX_NAME as index_name, COUNT_FETCH AS rows_selected, sys.format_time(SUM_TIMER_FETCH) AS select_latency, COUNT_INSERT AS rows_inserted, sys.format_time(SUM_TIMER_INSERT) AS insert_latency, COUNT_UPDATE AS rows_updated, sys.format_time(SUM_TIMER_UPDATE) AS update_latency, COUNT_DELETE AS rows_deleted, sys.format_time(SUM_TIMER_INSERT) AS delete_latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `table_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `table_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` AS `index_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_FETCH` AS `rows_selected`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_FETCH`) AS `select_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_INSERT` AS `rows_inserted`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT`) AS `insert_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_UPDATE` AS `rows_updated`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_UPDATE`) AS `update_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_DELETE` AS `rows_deleted`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT`) AS `delete_latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` is not null) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/schema_object_overview.frm b/sandbox/servers/5.7/data/sys/schema_object_overview.frm new file mode 100644 index 00000000..99ed5120 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_object_overview.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `information_schema`.`routines`.`ROUTINE_SCHEMA` AS `db`,`information_schema`.`routines`.`ROUTINE_TYPE` AS `object_type`,count(0) AS `count` from `information_schema`.`routines` group by `information_schema`.`routines`.`ROUTINE_SCHEMA`,`information_schema`.`routines`.`ROUTINE_TYPE` union select `information_schema`.`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`information_schema`.`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,count(0) AS `COUNT(*)` from `information_schema`.`tables` group by `information_schema`.`tables`.`TABLE_SCHEMA`,`information_schema`.`tables`.`TABLE_TYPE` union select `information_schema`.`statistics`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,concat(\'INDEX (\',`information_schema`.`statistics`.`INDEX_TYPE`,\')\') AS `CONCAT(\'INDEX (\', INDEX_TYPE, \')\')`,count(0) AS `COUNT(*)` from `information_schema`.`statistics` group by `information_schema`.`statistics`.`TABLE_SCHEMA`,`information_schema`.`statistics`.`INDEX_TYPE` union select `information_schema`.`triggers`.`TRIGGER_SCHEMA` AS `TRIGGER_SCHEMA`,\'TRIGGER\' AS `TRIGGER`,count(0) AS `COUNT(*)` from `information_schema`.`triggers` group by `information_schema`.`triggers`.`TRIGGER_SCHEMA` union select `information_schema`.`events`.`EVENT_SCHEMA` AS `EVENT_SCHEMA`,\'EVENT\' AS `EVENT`,count(0) AS `COUNT(*)` from `information_schema`.`events` group by `information_schema`.`events`.`EVENT_SCHEMA` order by `db`,`object_type` +md5=be1e4ce9f5bcd017616670d43bbce5ae +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT ROUTINE_SCHEMA AS db, ROUTINE_TYPE AS object_type, COUNT(*) AS count FROM information_schema.routines GROUP BY ROUTINE_SCHEMA, ROUTINE_TYPE UNION SELECT TABLE_SCHEMA, TABLE_TYPE, COUNT(*) FROM information_schema.tables GROUP BY TABLE_SCHEMA, TABLE_TYPE UNION SELECT TABLE_SCHEMA, CONCAT(\'INDEX (\', INDEX_TYPE, \')\'), COUNT(*) FROM information_schema.statistics GROUP BY TABLE_SCHEMA, INDEX_TYPE UNION SELECT TRIGGER_SCHEMA, \'TRIGGER\', COUNT(*) FROM information_schema.triggers GROUP BY TRIGGER_SCHEMA UNION SELECT EVENT_SCHEMA, \'EVENT\', COUNT(*) FROM information_schema.events GROUP BY EVENT_SCHEMA ORDER BY DB, OBJECT_TYPE +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `information_schema`.`routines`.`ROUTINE_SCHEMA` AS `db`,`information_schema`.`routines`.`ROUTINE_TYPE` AS `object_type`,count(0) AS `count` from `information_schema`.`routines` group by `information_schema`.`routines`.`ROUTINE_SCHEMA`,`information_schema`.`routines`.`ROUTINE_TYPE` union select `information_schema`.`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`information_schema`.`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,count(0) AS `COUNT(*)` from `information_schema`.`tables` group by `information_schema`.`tables`.`TABLE_SCHEMA`,`information_schema`.`tables`.`TABLE_TYPE` union select `information_schema`.`statistics`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,concat(\'INDEX (\',`information_schema`.`statistics`.`INDEX_TYPE`,\')\') AS `CONCAT(\'INDEX (\', INDEX_TYPE, \')\')`,count(0) AS `COUNT(*)` from `information_schema`.`statistics` group by `information_schema`.`statistics`.`TABLE_SCHEMA`,`information_schema`.`statistics`.`INDEX_TYPE` union select `information_schema`.`triggers`.`TRIGGER_SCHEMA` AS `TRIGGER_SCHEMA`,\'TRIGGER\' AS `TRIGGER`,count(0) AS `COUNT(*)` from `information_schema`.`triggers` group by `information_schema`.`triggers`.`TRIGGER_SCHEMA` union select `information_schema`.`events`.`EVENT_SCHEMA` AS `EVENT_SCHEMA`,\'EVENT\' AS `EVENT`,count(0) AS `COUNT(*)` from `information_schema`.`events` group by `information_schema`.`events`.`EVENT_SCHEMA` order by `db`,`object_type` diff --git a/sandbox/servers/5.7/data/sys/schema_redundant_indexes.frm b/sandbox/servers/5.7/data/sys/schema_redundant_indexes.frm new file mode 100644 index 00000000..798bf668 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_redundant_indexes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `redundant_keys`.`table_schema` AS `table_schema`,`redundant_keys`.`table_name` AS `table_name`,`redundant_keys`.`index_name` AS `redundant_index_name`,`redundant_keys`.`index_columns` AS `redundant_index_columns`,`redundant_keys`.`non_unique` AS `redundant_index_non_unique`,`dominant_keys`.`index_name` AS `dominant_index_name`,`dominant_keys`.`index_columns` AS `dominant_index_columns`,`dominant_keys`.`non_unique` AS `dominant_index_non_unique`,if((`redundant_keys`.`subpart_exists` or `dominant_keys`.`subpart_exists`),1,0) AS `subpart_exists`,concat(\'ALTER TABLE `\',`redundant_keys`.`table_schema`,\'`.`\',`redundant_keys`.`table_name`,\'` DROP INDEX `\',`redundant_keys`.`index_name`,\'`\') AS `sql_drop_index` from (`sys`.`x$schema_flattened_keys` `redundant_keys` join `sys`.`x$schema_flattened_keys` `dominant_keys` on(((`redundant_keys`.`table_schema` = `dominant_keys`.`table_schema`) and (`redundant_keys`.`table_name` = `dominant_keys`.`table_name`)))) where ((`redundant_keys`.`index_name` <> `dominant_keys`.`index_name`) and (((`redundant_keys`.`index_columns` = `dominant_keys`.`index_columns`) and ((`redundant_keys`.`non_unique` > `dominant_keys`.`non_unique`) or ((`redundant_keys`.`non_unique` = `dominant_keys`.`non_unique`) and (if((`redundant_keys`.`index_name` = \'PRIMARY\'),\'\',`redundant_keys`.`index_name`) > if((`dominant_keys`.`index_name` = \'PRIMARY\'),\'\',`dominant_keys`.`index_name`))))) or ((locate(concat(`redundant_keys`.`index_columns`,\',\'),`dominant_keys`.`index_columns`) = 1) and (`redundant_keys`.`non_unique` = 1)) or ((locate(concat(`dominant_keys`.`index_columns`,\',\'),`redundant_keys`.`index_columns`) = 1) and (`dominant_keys`.`non_unique` = 0)))) +md5=1b12e68995777cbf9449b06bc708f827 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT redundant_keys.table_schema, redundant_keys.table_name, redundant_keys.index_name AS redundant_index_name, redundant_keys.index_columns AS redundant_index_columns, redundant_keys.non_unique AS redundant_index_non_unique, dominant_keys.index_name AS dominant_index_name, dominant_keys.index_columns AS dominant_index_columns, dominant_keys.non_unique AS dominant_index_non_unique, IF(redundant_keys.subpart_exists OR dominant_keys.subpart_exists, 1 ,0) AS subpart_exists, CONCAT( \'ALTER TABLE `\', redundant_keys.table_schema, \'`.`\', redundant_keys.table_name, \'` DROP INDEX `\', redundant_keys.index_name, \'`\' ) AS sql_drop_index FROM x$schema_flattened_keys AS redundant_keys INNER JOIN x$schema_flattened_keys AS dominant_keys USING (TABLE_SCHEMA, TABLE_NAME) WHERE redundant_keys.index_name != dominant_keys.index_name AND ( ( /* Identical columns */ (redundant_keys.index_columns = dominant_keys.index_columns) AND ( (redundant_keys.non_unique > dominant_keys.non_unique) OR (redundant_keys.non_unique = dominant_keys.non_unique AND IF(redundant_keys.index_name=\'PRIMARY\', \'\', redundant_keys.index_name) > IF(dominant_keys.index_name=\'PRIMARY\', \'\', dominant_keys.index_name) ) ) ) OR ( /* Non-unique prefix columns */ LOCATE(CONCAT(redundant_keys.index_columns, \',\'), dominant_keys.index_columns) = 1 AND redundant_keys.non_unique = 1 ) OR ( /* Unique prefix columns */ LOCATE(CONCAT(dominant_keys.index_columns, \',\'), redundant_keys.index_columns) = 1 AND dominant_keys.non_unique = 0 ) ) +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `redundant_keys`.`table_schema` AS `table_schema`,`redundant_keys`.`table_name` AS `table_name`,`redundant_keys`.`index_name` AS `redundant_index_name`,`redundant_keys`.`index_columns` AS `redundant_index_columns`,`redundant_keys`.`non_unique` AS `redundant_index_non_unique`,`dominant_keys`.`index_name` AS `dominant_index_name`,`dominant_keys`.`index_columns` AS `dominant_index_columns`,`dominant_keys`.`non_unique` AS `dominant_index_non_unique`,if((`redundant_keys`.`subpart_exists` or `dominant_keys`.`subpart_exists`),1,0) AS `subpart_exists`,concat(\'ALTER TABLE `\',`redundant_keys`.`table_schema`,\'`.`\',`redundant_keys`.`table_name`,\'` DROP INDEX `\',`redundant_keys`.`index_name`,\'`\') AS `sql_drop_index` from (`sys`.`x$schema_flattened_keys` `redundant_keys` join `sys`.`x$schema_flattened_keys` `dominant_keys` on(((`redundant_keys`.`table_schema` = `dominant_keys`.`table_schema`) and (`redundant_keys`.`table_name` = `dominant_keys`.`table_name`)))) where ((`redundant_keys`.`index_name` <> `dominant_keys`.`index_name`) and (((`redundant_keys`.`index_columns` = `dominant_keys`.`index_columns`) and ((`redundant_keys`.`non_unique` > `dominant_keys`.`non_unique`) or ((`redundant_keys`.`non_unique` = `dominant_keys`.`non_unique`) and (if((`redundant_keys`.`index_name` = \'PRIMARY\'),\'\',`redundant_keys`.`index_name`) > if((`dominant_keys`.`index_name` = \'PRIMARY\'),\'\',`dominant_keys`.`index_name`))))) or ((locate(concat(`redundant_keys`.`index_columns`,\',\'),`dominant_keys`.`index_columns`) = 1) and (`redundant_keys`.`non_unique` = 1)) or ((locate(concat(`dominant_keys`.`index_columns`,\',\'),`redundant_keys`.`index_columns`) = 1) and (`dominant_keys`.`non_unique` = 0)))) diff --git a/sandbox/servers/5.7/data/sys/schema_table_lock_waits.frm b/sandbox/servers/5.7/data/sys/schema_table_lock_waits.frm new file mode 100644 index 00000000..2cb8b058 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_table_lock_waits.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `g`.`OBJECT_SCHEMA` AS `object_schema`,`g`.`OBJECT_NAME` AS `object_name`,`pt`.`THREAD_ID` AS `waiting_thread_id`,`pt`.`PROCESSLIST_ID` AS `waiting_pid`,`sys`.`ps_thread_account`(`p`.`OWNER_THREAD_ID`) AS `waiting_account`,`p`.`LOCK_TYPE` AS `waiting_lock_type`,`p`.`LOCK_DURATION` AS `waiting_lock_duration`,`sys`.`format_statement`(`pt`.`PROCESSLIST_INFO`) AS `waiting_query`,`pt`.`PROCESSLIST_TIME` AS `waiting_query_secs`,`ps`.`ROWS_AFFECTED` AS `waiting_query_rows_affected`,`ps`.`ROWS_EXAMINED` AS `waiting_query_rows_examined`,`gt`.`THREAD_ID` AS `blocking_thread_id`,`gt`.`PROCESSLIST_ID` AS `blocking_pid`,`sys`.`ps_thread_account`(`g`.`OWNER_THREAD_ID`) AS `blocking_account`,`g`.`LOCK_TYPE` AS `blocking_lock_type`,`g`.`LOCK_DURATION` AS `blocking_lock_duration`,concat(\'KILL QUERY \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_query`,concat(\'KILL \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_connection` from (((((`performance_schema`.`metadata_locks` `g` join `performance_schema`.`metadata_locks` `p` on(((`g`.`OBJECT_TYPE` = `p`.`OBJECT_TYPE`) and (`g`.`OBJECT_SCHEMA` = `p`.`OBJECT_SCHEMA`) and (`g`.`OBJECT_NAME` = `p`.`OBJECT_NAME`) and (`g`.`LOCK_STATUS` = \'GRANTED\') and (`p`.`LOCK_STATUS` = \'PENDING\')))) join `performance_schema`.`threads` `gt` on((`g`.`OWNER_THREAD_ID` = `gt`.`THREAD_ID`))) join `performance_schema`.`threads` `pt` on((`p`.`OWNER_THREAD_ID` = `pt`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `gs` on((`g`.`OWNER_THREAD_ID` = `gs`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `ps` on((`p`.`OWNER_THREAD_ID` = `ps`.`THREAD_ID`))) where (`g`.`OBJECT_TYPE` = \'TABLE\') +md5=18ba2eedcb19b3b07c83b640d9960eff +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT g.object_schema AS object_schema, g.object_name AS object_name, pt.thread_id AS waiting_thread_id, pt.processlist_id AS waiting_pid, sys.ps_thread_account(p.owner_thread_id) AS waiting_account, p.lock_type AS waiting_lock_type, p.lock_duration AS waiting_lock_duration, sys.format_statement(pt.processlist_info) AS waiting_query, pt.processlist_time AS waiting_query_secs, ps.rows_affected AS waiting_query_rows_affected, ps.rows_examined AS waiting_query_rows_examined, gt.thread_id AS blocking_thread_id, gt.processlist_id AS blocking_pid, sys.ps_thread_account(g.owner_thread_id) AS blocking_account, g.lock_type AS blocking_lock_type, g.lock_duration AS blocking_lock_duration, CONCAT(\'KILL QUERY \', gt.processlist_id) AS sql_kill_blocking_query, CONCAT(\'KILL \', gt.processlist_id) AS sql_kill_blocking_connection FROM performance_schema.metadata_locks g INNER JOIN performance_schema.metadata_locks p ON g.object_type = p.object_type AND g.object_schema = p.object_schema AND g.object_name = p.object_name AND g.lock_status = \'GRANTED\' AND p.lock_status = \'PENDING\' INNER JOIN performance_schema.threads gt ON g.owner_thread_id = gt.thread_id INNER JOIN performance_schema.threads pt ON p.owner_thread_id = pt.thread_id LEFT JOIN performance_schema.events_statements_current gs ON g.owner_thread_id = gs.thread_id LEFT JOIN performance_schema.events_statements_current ps ON p.owner_thread_id = ps.thread_id WHERE g.object_type = \'TABLE\' +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `g`.`OBJECT_SCHEMA` AS `object_schema`,`g`.`OBJECT_NAME` AS `object_name`,`pt`.`THREAD_ID` AS `waiting_thread_id`,`pt`.`PROCESSLIST_ID` AS `waiting_pid`,`sys`.`ps_thread_account`(`p`.`OWNER_THREAD_ID`) AS `waiting_account`,`p`.`LOCK_TYPE` AS `waiting_lock_type`,`p`.`LOCK_DURATION` AS `waiting_lock_duration`,`sys`.`format_statement`(`pt`.`PROCESSLIST_INFO`) AS `waiting_query`,`pt`.`PROCESSLIST_TIME` AS `waiting_query_secs`,`ps`.`ROWS_AFFECTED` AS `waiting_query_rows_affected`,`ps`.`ROWS_EXAMINED` AS `waiting_query_rows_examined`,`gt`.`THREAD_ID` AS `blocking_thread_id`,`gt`.`PROCESSLIST_ID` AS `blocking_pid`,`sys`.`ps_thread_account`(`g`.`OWNER_THREAD_ID`) AS `blocking_account`,`g`.`LOCK_TYPE` AS `blocking_lock_type`,`g`.`LOCK_DURATION` AS `blocking_lock_duration`,concat(\'KILL QUERY \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_query`,concat(\'KILL \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_connection` from (((((`performance_schema`.`metadata_locks` `g` join `performance_schema`.`metadata_locks` `p` on(((`g`.`OBJECT_TYPE` = `p`.`OBJECT_TYPE`) and (`g`.`OBJECT_SCHEMA` = `p`.`OBJECT_SCHEMA`) and (`g`.`OBJECT_NAME` = `p`.`OBJECT_NAME`) and (`g`.`LOCK_STATUS` = \'GRANTED\') and (`p`.`LOCK_STATUS` = \'PENDING\')))) join `performance_schema`.`threads` `gt` on((`g`.`OWNER_THREAD_ID` = `gt`.`THREAD_ID`))) join `performance_schema`.`threads` `pt` on((`p`.`OWNER_THREAD_ID` = `pt`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `gs` on((`g`.`OWNER_THREAD_ID` = `gs`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `ps` on((`p`.`OWNER_THREAD_ID` = `ps`.`THREAD_ID`))) where (`g`.`OBJECT_TYPE` = \'TABLE\') diff --git a/sandbox/servers/5.7/data/sys/schema_table_statistics.frm b/sandbox/servers/5.7/data/sys/schema_table_statistics.frm new file mode 100644 index 00000000..75a0642e --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_table_statistics.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`sys`.`format_time`(`pst`.`SUM_TIMER_WAIT`) AS `total_latency`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`sys`.`format_time`(`pst`.`SUM_TIMER_FETCH`) AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`sys`.`format_time`(`pst`.`SUM_TIMER_INSERT`) AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`sys`.`format_time`(`pst`.`SUM_TIMER_UPDATE`) AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`sys`.`format_time`(`pst`.`SUM_TIMER_DELETE`) AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_read`) AS `io_read`,`sys`.`format_time`(`fsbi`.`sum_timer_read`) AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_write`) AS `io_write`,`sys`.`format_time`(`fsbi`.`sum_timer_write`) AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`sys`.`format_time`(`fsbi`.`sum_timer_misc`) AS `io_misc_latency` from (`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc +md5=17770c3ba299abe683c9504685025401 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, sys.format_time(pst.sum_timer_wait) AS total_latency, pst.count_fetch AS rows_fetched, sys.format_time(pst.sum_timer_fetch) AS fetch_latency, pst.count_insert AS rows_inserted, sys.format_time(pst.sum_timer_insert) AS insert_latency, pst.count_update AS rows_updated, sys.format_time(pst.sum_timer_update) AS update_latency, pst.count_delete AS rows_deleted, sys.format_time(pst.sum_timer_delete) AS delete_latency, fsbi.count_read AS io_read_requests, sys.format_bytes(fsbi.sum_number_of_bytes_read) AS io_read, sys.format_time(fsbi.sum_timer_read) AS io_read_latency, fsbi.count_write AS io_write_requests, sys.format_bytes(fsbi.sum_number_of_bytes_write) AS io_write, sys.format_time(fsbi.sum_timer_write) AS io_write_latency, fsbi.count_misc AS io_misc_requests, sys.format_time(fsbi.sum_timer_misc) AS io_misc_latency FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name ORDER BY pst.sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`sys`.`format_time`(`pst`.`SUM_TIMER_WAIT`) AS `total_latency`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`sys`.`format_time`(`pst`.`SUM_TIMER_FETCH`) AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`sys`.`format_time`(`pst`.`SUM_TIMER_INSERT`) AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`sys`.`format_time`(`pst`.`SUM_TIMER_UPDATE`) AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`sys`.`format_time`(`pst`.`SUM_TIMER_DELETE`) AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_read`) AS `io_read`,`sys`.`format_time`(`fsbi`.`sum_timer_read`) AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_write`) AS `io_write`,`sys`.`format_time`(`fsbi`.`sum_timer_write`) AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`sys`.`format_time`(`fsbi`.`sum_timer_misc`) AS `io_misc_latency` from (`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/schema_table_statistics_with_buffer.frm b/sandbox/servers/5.7/data/sys/schema_table_statistics_with_buffer.frm new file mode 100644 index 00000000..cf9f3719 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_table_statistics_with_buffer.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`sys`.`format_time`(`pst`.`SUM_TIMER_FETCH`) AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`sys`.`format_time`(`pst`.`SUM_TIMER_INSERT`) AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`sys`.`format_time`(`pst`.`SUM_TIMER_UPDATE`) AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`sys`.`format_time`(`pst`.`SUM_TIMER_DELETE`) AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_read`) AS `io_read`,`sys`.`format_time`(`fsbi`.`sum_timer_read`) AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_write`) AS `io_write`,`sys`.`format_time`(`fsbi`.`sum_timer_write`) AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`sys`.`format_time`(`fsbi`.`sum_timer_misc`) AS `io_misc_latency`,`sys`.`format_bytes`(`ibp`.`allocated`) AS `innodb_buffer_allocated`,`sys`.`format_bytes`(`ibp`.`data`) AS `innodb_buffer_data`,`sys`.`format_bytes`((`ibp`.`allocated` - `ibp`.`data`)) AS `innodb_buffer_free`,`ibp`.`pages` AS `innodb_buffer_pages`,`ibp`.`pages_hashed` AS `innodb_buffer_pages_hashed`,`ibp`.`pages_old` AS `innodb_buffer_pages_old`,`ibp`.`rows_cached` AS `innodb_buffer_rows_cached` from ((`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) left join `sys`.`x$innodb_buffer_stats_by_table` `ibp` on(((`pst`.`OBJECT_SCHEMA` = `ibp`.`object_schema`) and (`pst`.`OBJECT_NAME` = `ibp`.`object_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc +md5=782eed8b8021f208dda632d926fea09d +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, pst.count_fetch AS rows_fetched, sys.format_time(pst.sum_timer_fetch) AS fetch_latency, pst.count_insert AS rows_inserted, sys.format_time(pst.sum_timer_insert) AS insert_latency, pst.count_update AS rows_updated, sys.format_time(pst.sum_timer_update) AS update_latency, pst.count_delete AS rows_deleted, sys.format_time(pst.sum_timer_delete) AS delete_latency, fsbi.count_read AS io_read_requests, sys.format_bytes(fsbi.sum_number_of_bytes_read) AS io_read, sys.format_time(fsbi.sum_timer_read) AS io_read_latency, fsbi.count_write AS io_write_requests, sys.format_bytes(fsbi.sum_number_of_bytes_write) AS io_write, sys.format_time(fsbi.sum_timer_write) AS io_write_latency, fsbi.count_misc AS io_misc_requests, sys.format_time(fsbi.sum_timer_misc) AS io_misc_latency, sys.format_bytes(ibp.allocated) AS innodb_buffer_allocated, sys.format_bytes(ibp.data) AS innodb_buffer_data, sys.format_bytes(ibp.allocated - ibp.data) AS innodb_buffer_free, ibp.pages AS innodb_buffer_pages, ibp.pages_hashed AS innodb_buffer_pages_hashed, ibp.pages_old AS innodb_buffer_pages_old, ibp.rows_cached AS innodb_buffer_rows_cached FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name LEFT JOIN sys.x$innodb_buffer_stats_by_table AS ibp ON pst.object_schema = ibp.object_schema AND pst.object_name = ibp.object_name ORDER BY pst.sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`sys`.`format_time`(`pst`.`SUM_TIMER_FETCH`) AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`sys`.`format_time`(`pst`.`SUM_TIMER_INSERT`) AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`sys`.`format_time`(`pst`.`SUM_TIMER_UPDATE`) AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`sys`.`format_time`(`pst`.`SUM_TIMER_DELETE`) AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_read`) AS `io_read`,`sys`.`format_time`(`fsbi`.`sum_timer_read`) AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`sys`.`format_bytes`(`fsbi`.`sum_number_of_bytes_write`) AS `io_write`,`sys`.`format_time`(`fsbi`.`sum_timer_write`) AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`sys`.`format_time`(`fsbi`.`sum_timer_misc`) AS `io_misc_latency`,`sys`.`format_bytes`(`ibp`.`allocated`) AS `innodb_buffer_allocated`,`sys`.`format_bytes`(`ibp`.`data`) AS `innodb_buffer_data`,`sys`.`format_bytes`((`ibp`.`allocated` - `ibp`.`data`)) AS `innodb_buffer_free`,`ibp`.`pages` AS `innodb_buffer_pages`,`ibp`.`pages_hashed` AS `innodb_buffer_pages_hashed`,`ibp`.`pages_old` AS `innodb_buffer_pages_old`,`ibp`.`rows_cached` AS `innodb_buffer_rows_cached` from ((`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) left join `sys`.`x$innodb_buffer_stats_by_table` `ibp` on(((`pst`.`OBJECT_SCHEMA` = `ibp`.`object_schema`) and (`pst`.`OBJECT_NAME` = `ibp`.`object_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/schema_tables_with_full_table_scans.frm b/sandbox/servers/5.7/data/sys/schema_tables_with_full_table_scans.frm new file mode 100644 index 00000000..9cf87f52 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_tables_with_full_table_scans.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `object_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `object_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` AS `rows_full_scanned`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT`) AS `latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (isnull(`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME`) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` > 0)) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` desc +md5=eead73bf195efe1bf5542ab07f4d9479 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT object_schema, object_name, count_read AS rows_full_scanned, sys.format_time(sum_timer_wait) AS latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NULL AND count_read > 0 ORDER BY count_read DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `object_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `object_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` AS `rows_full_scanned`,`sys`.`format_time`(`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT`) AS `latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (isnull(`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME`) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` > 0)) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` desc diff --git a/sandbox/servers/5.7/data/sys/schema_unused_indexes.frm b/sandbox/servers/5.7/data/sys/schema_unused_indexes.frm new file mode 100644 index 00000000..2c863c8c --- /dev/null +++ b/sandbox/servers/5.7/data/sys/schema_unused_indexes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `object_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `object_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` AS `index_name` from `performance_schema`.`table_io_waits_summary_by_index_usage` where ((`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` is not null) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_STAR` = 0) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` <> \'mysql\') and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` <> \'PRIMARY\')) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` +md5=b87c0301770f6742917609c5fcb57765 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT object_schema, object_name, index_name FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL AND count_star = 0 AND object_schema != \'mysql\' AND index_name != \'PRIMARY\' ORDER BY object_schema, object_name +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `object_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `object_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` AS `index_name` from `performance_schema`.`table_io_waits_summary_by_index_usage` where ((`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` is not null) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_STAR` = 0) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` <> \'mysql\') and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` <> \'PRIMARY\')) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` diff --git a/sandbox/servers/5.7/data/sys/session.frm b/sandbox/servers/5.7/data/sys/session.frm new file mode 100644 index 00000000..c69c5984 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/session.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `processlist`.`thd_id` AS `thd_id`,`processlist`.`conn_id` AS `conn_id`,`processlist`.`user` AS `user`,`processlist`.`db` AS `db`,`processlist`.`command` AS `command`,`processlist`.`state` AS `state`,`processlist`.`time` AS `time`,`processlist`.`current_statement` AS `current_statement`,`processlist`.`statement_latency` AS `statement_latency`,`processlist`.`progress` AS `progress`,`processlist`.`lock_latency` AS `lock_latency`,`processlist`.`rows_examined` AS `rows_examined`,`processlist`.`rows_sent` AS `rows_sent`,`processlist`.`rows_affected` AS `rows_affected`,`processlist`.`tmp_tables` AS `tmp_tables`,`processlist`.`tmp_disk_tables` AS `tmp_disk_tables`,`processlist`.`full_scan` AS `full_scan`,`processlist`.`last_statement` AS `last_statement`,`processlist`.`last_statement_latency` AS `last_statement_latency`,`processlist`.`current_memory` AS `current_memory`,`processlist`.`last_wait` AS `last_wait`,`processlist`.`last_wait_latency` AS `last_wait_latency`,`processlist`.`source` AS `source`,`processlist`.`trx_latency` AS `trx_latency`,`processlist`.`trx_state` AS `trx_state`,`processlist`.`trx_autocommit` AS `trx_autocommit`,`processlist`.`pid` AS `pid`,`processlist`.`program_name` AS `program_name` from `sys`.`processlist` where ((`processlist`.`conn_id` is not null) and (`processlist`.`command` <> \'Daemon\')) +md5=97370a9a592ae223cb955b6a4424f702 +updatable=0 +algorithm=0 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:04 +create-version=1 +source=SELECT * FROM sys.processlist WHERE conn_id IS NOT NULL AND command != \'Daemon\' +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `processlist`.`thd_id` AS `thd_id`,`processlist`.`conn_id` AS `conn_id`,`processlist`.`user` AS `user`,`processlist`.`db` AS `db`,`processlist`.`command` AS `command`,`processlist`.`state` AS `state`,`processlist`.`time` AS `time`,`processlist`.`current_statement` AS `current_statement`,`processlist`.`statement_latency` AS `statement_latency`,`processlist`.`progress` AS `progress`,`processlist`.`lock_latency` AS `lock_latency`,`processlist`.`rows_examined` AS `rows_examined`,`processlist`.`rows_sent` AS `rows_sent`,`processlist`.`rows_affected` AS `rows_affected`,`processlist`.`tmp_tables` AS `tmp_tables`,`processlist`.`tmp_disk_tables` AS `tmp_disk_tables`,`processlist`.`full_scan` AS `full_scan`,`processlist`.`last_statement` AS `last_statement`,`processlist`.`last_statement_latency` AS `last_statement_latency`,`processlist`.`current_memory` AS `current_memory`,`processlist`.`last_wait` AS `last_wait`,`processlist`.`last_wait_latency` AS `last_wait_latency`,`processlist`.`source` AS `source`,`processlist`.`trx_latency` AS `trx_latency`,`processlist`.`trx_state` AS `trx_state`,`processlist`.`trx_autocommit` AS `trx_autocommit`,`processlist`.`pid` AS `pid`,`processlist`.`program_name` AS `program_name` from `sys`.`processlist` where ((`processlist`.`conn_id` is not null) and (`processlist`.`command` <> \'Daemon\')) diff --git a/sandbox/servers/5.7/data/sys/session_ssl_status.frm b/sandbox/servers/5.7/data/sys/session_ssl_status.frm new file mode 100644 index 00000000..d53f3a8d --- /dev/null +++ b/sandbox/servers/5.7/data/sys/session_ssl_status.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sslver`.`THREAD_ID` AS `thread_id`,`sslver`.`VARIABLE_VALUE` AS `ssl_version`,`sslcip`.`VARIABLE_VALUE` AS `ssl_cipher`,`sslreuse`.`VARIABLE_VALUE` AS `ssl_sessions_reused` from ((`performance_schema`.`status_by_thread` `sslver` left join `performance_schema`.`status_by_thread` `sslcip` on(((`sslcip`.`THREAD_ID` = `sslver`.`THREAD_ID`) and (`sslcip`.`VARIABLE_NAME` = \'Ssl_cipher\')))) left join `performance_schema`.`status_by_thread` `sslreuse` on(((`sslreuse`.`THREAD_ID` = `sslver`.`THREAD_ID`) and (`sslreuse`.`VARIABLE_NAME` = \'Ssl_sessions_reused\')))) where (`sslver`.`VARIABLE_NAME` = \'Ssl_version\') +md5=85a4a938aeb0d850e448a6821ca91f12 +updatable=0 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:04 +create-version=1 +source=SELECT sslver.thread_id, sslver.variable_value ssl_version, sslcip.variable_value ssl_cipher, sslreuse.variable_value ssl_sessions_reused FROM performance_schema.status_by_thread sslver LEFT JOIN performance_schema.status_by_thread sslcip ON (sslcip.thread_id=sslver.thread_id and sslcip.variable_name=\'Ssl_cipher\') LEFT JOIN performance_schema.status_by_thread sslreuse ON (sslreuse.thread_id=sslver.thread_id and sslreuse.variable_name=\'Ssl_sessions_reused\') WHERE sslver.variable_name=\'Ssl_version\' +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sslver`.`THREAD_ID` AS `thread_id`,`sslver`.`VARIABLE_VALUE` AS `ssl_version`,`sslcip`.`VARIABLE_VALUE` AS `ssl_cipher`,`sslreuse`.`VARIABLE_VALUE` AS `ssl_sessions_reused` from ((`performance_schema`.`status_by_thread` `sslver` left join `performance_schema`.`status_by_thread` `sslcip` on(((`sslcip`.`THREAD_ID` = `sslver`.`THREAD_ID`) and (`sslcip`.`VARIABLE_NAME` = \'Ssl_cipher\')))) left join `performance_schema`.`status_by_thread` `sslreuse` on(((`sslreuse`.`THREAD_ID` = `sslver`.`THREAD_ID`) and (`sslreuse`.`VARIABLE_NAME` = \'Ssl_sessions_reused\')))) where (`sslver`.`VARIABLE_NAME` = \'Ssl_version\') diff --git a/sandbox/servers/5.7/data/sys/statement_analysis.frm b/sandbox/servers/5.7/data/sys/statement_analysis.frm new file mode 100644 index 00000000..cd7904c8 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/statement_analysis.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,if(((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `err_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warn_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_LOCK_TIME`) AS `lock_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` AS `rows_affected`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_affected_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen` from `performance_schema`.`events_statements_summary_by_digest` order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc +md5=007fedbc96c6cad02dd0148e535f40d0 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, \'*\', \'\') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, sys.format_time(MAX_TIMER_WAIT) AS max_latency, sys.format_time(AVG_TIMER_WAIT) AS avg_latency, sys.format_time(SUM_LOCK_TIME) AS lock_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, SUM_ROWS_AFFECTED AS rows_affected, ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg, SUM_CREATED_TMP_TABLES AS tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS tmp_disk_tables, SUM_SORT_ROWS AS rows_sorted, SUM_SORT_MERGE_PASSES AS sort_merge_passes, DIGEST AS digest, FIRST_SEEN AS first_seen, LAST_SEEN as last_seen FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,if(((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `err_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warn_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_LOCK_TIME`) AS `lock_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` AS `rows_affected`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_affected_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen` from `performance_schema`.`events_statements_summary_by_digest` order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/statements_with_errors_or_warnings.frm b/sandbox/servers/5.7/data/sys/statements_with_errors_or_warnings.frm new file mode 100644 index 00000000..aa9a92cf --- /dev/null +++ b/sandbox/servers/5.7/data/sys/statements_with_errors_or_warnings.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `errors`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `error_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warnings`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `warning_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where ((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` > 0)) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` desc +md5=fa456f1f49acf01d015d39e86d08ba12 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_ERRORS AS errors, IFNULL(SUM_ERRORS / NULLIF(COUNT_STAR, 0), 0) * 100 as error_pct, SUM_WARNINGS AS warnings, IFNULL(SUM_WARNINGS / NULLIF(COUNT_STAR, 0), 0) * 100 as warning_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_ERRORS > 0 OR SUM_WARNINGS > 0 ORDER BY SUM_ERRORS DESC, SUM_WARNINGS DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `errors`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `error_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warnings`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `warning_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where ((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` > 0)) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` desc diff --git a/sandbox/servers/5.7/data/sys/statements_with_full_table_scans.frm b/sandbox/servers/5.7/data/sys/statements_with_full_table_scans.frm new file mode 100644 index 00000000..7b364679 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/statements_with_full_table_scans.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` AS `no_index_used_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` AS `no_good_index_used_count`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) AS `no_index_used_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_sent_avg`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0)) and (not((`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` like \'SHOW%\')))) order by round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) desc,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) desc +md5=032dd0483db99904ceffb58cf50f6f21 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, SUM_NO_INDEX_USED AS no_index_used_count, SUM_NO_GOOD_INDEX_USED AS no_good_index_used_count, ROUND(IFNULL(SUM_NO_INDEX_USED / NULLIF(COUNT_STAR, 0), 0) * 100) AS no_index_used_pct, SUM_ROWS_SENT AS rows_sent, SUM_ROWS_EXAMINED AS rows_examined, ROUND(SUM_ROWS_SENT/COUNT_STAR) AS rows_sent_avg, ROUND(SUM_ROWS_EXAMINED/COUNT_STAR) AS rows_examined_avg, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE (SUM_NO_INDEX_USED > 0 OR SUM_NO_GOOD_INDEX_USED > 0) AND DIGEST_TEXT NOT LIKE \'SHOW%\' ORDER BY no_index_used_pct DESC, total_latency DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` AS `no_index_used_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` AS `no_good_index_used_count`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) AS `no_index_used_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_sent_avg`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0)) and (not((`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` like \'SHOW%\')))) order by round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) desc,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/statements_with_runtimes_in_95th_percentile.frm b/sandbox/servers/5.7/data/sys/statements_with_runtimes_in_95th_percentile.frm new file mode 100644 index 00000000..28892616 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/statements_with_runtimes_in_95th_percentile.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_statement`(`stmts`.`DIGEST_TEXT`) AS `query`,`stmts`.`SCHEMA_NAME` AS `db`,if(((`stmts`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`stmts`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`stmts`.`COUNT_STAR` AS `exec_count`,`stmts`.`SUM_ERRORS` AS `err_count`,`stmts`.`SUM_WARNINGS` AS `warn_count`,`sys`.`format_time`(`stmts`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`stmts`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`stmts`.`AVG_TIMER_WAIT`) AS `avg_latency`,`stmts`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`stmts`.`SUM_ROWS_SENT` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`stmts`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`stmts`.`SUM_ROWS_EXAMINED` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`stmts`.`FIRST_SEEN` AS `first_seen`,`stmts`.`LAST_SEEN` AS `last_seen`,`stmts`.`DIGEST` AS `digest` from (`performance_schema`.`events_statements_summary_by_digest` `stmts` join `sys`.`x$ps_digest_95th_percentile_by_avg_us` `top_percentile` on((round((`stmts`.`AVG_TIMER_WAIT` / 1000000),0) >= `top_percentile`.`avg_us`))) order by `stmts`.`AVG_TIMER_WAIT` desc +md5=a8f6593f95ffd3877ab190a6e89b45fa +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, \'*\', \'\') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, sys.format_time(MAX_TIMER_WAIT) AS max_latency, sys.format_time(AVG_TIMER_WAIT) AS avg_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, FIRST_SEEN AS first_seen, LAST_SEEN AS last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest stmts JOIN sys.x$ps_digest_95th_percentile_by_avg_us AS top_percentile ON ROUND(stmts.avg_timer_wait/1000000) >= top_percentile.avg_us ORDER BY AVG_TIMER_WAIT DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_statement`(`stmts`.`DIGEST_TEXT`) AS `query`,`stmts`.`SCHEMA_NAME` AS `db`,if(((`stmts`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`stmts`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`stmts`.`COUNT_STAR` AS `exec_count`,`stmts`.`SUM_ERRORS` AS `err_count`,`stmts`.`SUM_WARNINGS` AS `warn_count`,`sys`.`format_time`(`stmts`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`stmts`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`stmts`.`AVG_TIMER_WAIT`) AS `avg_latency`,`stmts`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`stmts`.`SUM_ROWS_SENT` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`stmts`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`stmts`.`SUM_ROWS_EXAMINED` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`stmts`.`FIRST_SEEN` AS `first_seen`,`stmts`.`LAST_SEEN` AS `last_seen`,`stmts`.`DIGEST` AS `digest` from (`performance_schema`.`events_statements_summary_by_digest` `stmts` join `sys`.`x$ps_digest_95th_percentile_by_avg_us` `top_percentile` on((round((`stmts`.`AVG_TIMER_WAIT` / 1000000),0) >= `top_percentile`.`avg_us`))) order by `stmts`.`AVG_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/statements_with_sorting.frm b/sandbox/servers/5.7/data/sys/statements_with_sorting.frm new file mode 100644 index 00000000..1a9db940 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/statements_with_sorting.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_sort_merges`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_SCAN` AS `sorts_using_scans`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_RANGE` AS `sort_using_range`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc +md5=0afdf8926912f8e0461530464bbb351e +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME db, COUNT_STAR AS exec_count, sys.format_time(SUM_TIMER_WAIT) AS total_latency, SUM_SORT_MERGE_PASSES AS sort_merge_passes, ROUND(IFNULL(SUM_SORT_MERGE_PASSES / NULLIF(COUNT_STAR, 0), 0)) AS avg_sort_merges, SUM_SORT_SCAN AS sorts_using_scans, SUM_SORT_RANGE AS sort_using_range, SUM_SORT_ROWS AS rows_sorted, ROUND(IFNULL(SUM_SORT_ROWS / NULLIF(COUNT_STAR, 0), 0)) AS avg_rows_sorted, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_SORT_ROWS > 0 ORDER BY SUM_TIMER_WAIT DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_sort_merges`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_SCAN` AS `sorts_using_scans`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_RANGE` AS `sort_using_range`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/statements_with_temp_tables.frm b/sandbox/servers/5.7/data/sys/statements_with_temp_tables.frm new file mode 100644 index 00000000..686ed619 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/statements_with_temp_tables.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `memory_tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `disk_tmp_tables`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_tmp_tables_per_query`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES`,0)),0) * 100),0) AS `tmp_tables_to_disk_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` desc +md5=d97ee486ddd46f21be4acb840e0a6163 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT sys.format_statement(DIGEST_TEXT) AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, sys.format_time(SUM_TIMER_WAIT) as total_latency, SUM_CREATED_TMP_TABLES AS memory_tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS disk_tmp_tables, ROUND(IFNULL(SUM_CREATED_TMP_TABLES / NULLIF(COUNT_STAR, 0), 0)) AS avg_tmp_tables_per_query, ROUND(IFNULL(SUM_CREATED_TMP_DISK_TABLES / NULLIF(SUM_CREATED_TMP_TABLES, 0), 0) * 100) AS tmp_tables_to_disk_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_CREATED_TMP_TABLES > 0 ORDER BY SUM_CREATED_TMP_DISK_TABLES DESC, SUM_CREATED_TMP_TABLES DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `sys`.`format_statement`(`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT`) AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT`) AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `memory_tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `disk_tmp_tables`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_tmp_tables_per_query`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES`,0)),0) * 100),0) AS `tmp_tables_to_disk_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` desc diff --git a/sandbox/servers/5.7/data/sys/sys_config.TRG b/sandbox/servers/5.7/data/sys/sys_config.TRG new file mode 100644 index 00000000..31f48ca0 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/sys_config.TRG @@ -0,0 +1,8 @@ +TYPE=TRIGGERS +triggers='CREATE DEFINER=`mysql.sys`@`localhost` TRIGGER sys_config_insert_set_user BEFORE INSERT on sys_config FOR EACH ROW BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END' 'CREATE DEFINER=`mysql.sys`@`localhost` TRIGGER sys_config_update_set_user BEFORE UPDATE on sys_config FOR EACH ROW BEGIN IF @sys.ignore_sys_config_triggers != true AND NEW.set_by IS NULL THEN SET NEW.set_by = USER(); END IF; END' +sql_modes=0 0 +definers='mysql.sys@localhost' 'mysql.sys@localhost' +client_cs_names='utf8' 'utf8' +connection_cl_names='utf8_general_ci' 'utf8_general_ci' +db_cl_names='utf8_general_ci' 'utf8_general_ci' +created=145185047957 145185047980 diff --git a/sandbox/servers/5.7/data/sys/sys_config.frm b/sandbox/servers/5.7/data/sys/sys_config.frm new file mode 100644 index 0000000000000000000000000000000000000000..6302f7ce2aaf53c22e23ccbcdb59e797d752a082 GIT binary patch literal 8672 zcmeI&u};G<5C-7?(!?PVh@zr0(rhr5M*xH>GE}O%AqJF486uS;L8;Wu16xMkiRa)+ z2$zDHI&^Hy?;$x~tepL2isdhf_gg?)fD53M%7<%Sf(QtjZsKyKj_ZB^r!LX&13lN_ zodOh~00k&O0SZun0u-PC1t>s)jT8|5p^tF}+XN8n>Gje|JsPLOtMOgEk(1uWNl|he zzZ&OEfgKbuNT<`Mo9myY9qix=xg-iufC3bt00k&Ofz<+^g7)es|065#agTRB^-%fA z-;zh@qS*<7J_~&B_`J7f)3-(Q?77VHNuft4%siXC7BGljirK@gd@K+mY~p+YKN?tB z?zd>2LoFVd)XJOg!`R=1i8>va7Al+oM|(gR-dc(EyoMW5yJ8w>rP`HQ2Kl1KH(dKT A1^@s6 literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/sys/sys_config.ibd b/sandbox/servers/5.7/data/sys/sys_config.ibd new file mode 100644 index 0000000000000000000000000000000000000000..53aca8125d3a091a606b922e7634db3959b5454c GIT binary patch literal 98304 zcmeI)v2R;N7y$6I-IPj5RVPzbAQhD$rYKNSMFLb7Dz**?hB8}Bp+Atopz0}Foyh`Eya&WYU@4`BgSk$xxL`Q6?7-rfB?e^-BSe=V(+?x*jk z3ys0`c+NGK^HD#H`g+uJQPV8SqK$4VkEQRQw=45`qLZ7I@f_DqZ!X*X%IZ7qA97Hm z%wN(FAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5;&Gb>Q%y#L7a-yR?S6o)v<+FzWe`|-upycJ-P`@fj? zOMn0Y0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PJ^m0`t88$n)?1{K@6`VEe>J<6eN&X^gDTqNH@x9*-|? z3|O5zt-tnr^;^Vu@;fi89PfX5;=GUM*-q={{lBPvFV=1RFCGaHAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK;X;^%=7*u&;RSEkDtY1mKpi;gLOY2fAnMHi0i4{`t_>|d8G9)?h0t9^Nrb~$M@oA zJ!(7sy?lD772T)RXtx?34AV>L<&>re<4GC4b~h66FU|g%)Sp-H z+nbv?{#smUaCP?Gzl48TmG_#_cjimK8cV;Gws)#xZ?r$HtNwJO7!3CB^{U>qR~KIl z%4sv`o7=Z;&EsB)xXpCE8CQ+^gM*#2Hz`i6^XNEa?X?Kmo?RKockfQhVkcM*dm*^L zF)R)<&0c-Cxz;Z?wzjTs<<;`2LVy4P0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pkXG&n4`t!X1$n!r_`?gsE z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ rfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNCfKMDK;?$7?E literal 0 HcmV?d00001 diff --git a/sandbox/servers/5.7/data/sys/sys_config_insert_set_user.TRN b/sandbox/servers/5.7/data/sys/sys_config_insert_set_user.TRN new file mode 100644 index 00000000..5f6be00f --- /dev/null +++ b/sandbox/servers/5.7/data/sys/sys_config_insert_set_user.TRN @@ -0,0 +1,2 @@ +TYPE=TRIGGERNAME +trigger_table=sys_config diff --git a/sandbox/servers/5.7/data/sys/sys_config_update_set_user.TRN b/sandbox/servers/5.7/data/sys/sys_config_update_set_user.TRN new file mode 100644 index 00000000..5f6be00f --- /dev/null +++ b/sandbox/servers/5.7/data/sys/sys_config_update_set_user.TRN @@ -0,0 +1,2 @@ +TYPE=TRIGGERNAME +trigger_table=sys_config diff --git a/sandbox/servers/5.7/data/sys/user_summary.frm b/sandbox/servers/5.7/data/sys/user_summary.frm new file mode 100644 index 00000000..152fd81c --- /dev/null +++ b/sandbox/servers/5.7/data/sys/user_summary.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) AS `user`,sum(`stmt`.`total`) AS `statements`,`sys`.`format_time`(sum(`stmt`.`total_latency`)) AS `statement_latency`,`sys`.`format_time`(ifnull((sum(`stmt`.`total_latency`) / nullif(sum(`stmt`.`total`),0)),0)) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,`sys`.`format_time`(sum(`io`.`io_latency`)) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`HOST`) AS `unique_hosts`,`sys`.`format_bytes`(sum(`mem`.`current_allocated`)) AS `current_memory`,`sys`.`format_bytes`(sum(`mem`.`total_allocated`)) AS `total_memory_allocated` from (((`performance_schema`.`accounts` left join `sys`.`x$user_summary_by_statement_latency` `stmt` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `stmt`.`user`))) left join `sys`.`x$user_summary_by_file_io` `io` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `io`.`user`))) left join `sys`.`x$memory_by_user_by_current_bytes` `mem` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `mem`.`user`))) group by if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) order by sum(`stmt`.`total_latency`) desc +md5=a555feb571b472037415d785e83cb7dd +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(accounts.user IS NULL, \'background\', accounts.user) AS user, SUM(stmt.total) AS statements, sys.format_time(SUM(stmt.total_latency)) AS statement_latency, sys.format_time(IFNULL(SUM(stmt.total_latency) / NULLIF(SUM(stmt.total), 0), 0)) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, sys.format_time(SUM(io.io_latency)) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT host) AS unique_hosts, sys.format_bytes(SUM(mem.current_allocated)) AS current_memory, sys.format_bytes(SUM(mem.total_allocated)) AS total_memory_allocated FROM performance_schema.accounts LEFT JOIN sys.x$user_summary_by_statement_latency AS stmt ON IF(accounts.user IS NULL, \'background\', accounts.user) = stmt.user LEFT JOIN sys.x$user_summary_by_file_io AS io ON IF(accounts.user IS NULL, \'background\', accounts.user) = io.user LEFT JOIN sys.x$memory_by_user_by_current_bytes mem ON IF(accounts.user IS NULL, \'background\', accounts.user) = mem.user GROUP BY IF(accounts.user IS NULL, \'background\', accounts.user) ORDER BY SUM(stmt.total_latency) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) AS `user`,sum(`stmt`.`total`) AS `statements`,`sys`.`format_time`(sum(`stmt`.`total_latency`)) AS `statement_latency`,`sys`.`format_time`(ifnull((sum(`stmt`.`total_latency`) / nullif(sum(`stmt`.`total`),0)),0)) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,`sys`.`format_time`(sum(`io`.`io_latency`)) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`HOST`) AS `unique_hosts`,`sys`.`format_bytes`(sum(`mem`.`current_allocated`)) AS `current_memory`,`sys`.`format_bytes`(sum(`mem`.`total_allocated`)) AS `total_memory_allocated` from (((`performance_schema`.`accounts` left join `sys`.`x$user_summary_by_statement_latency` `stmt` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `stmt`.`user`))) left join `sys`.`x$user_summary_by_file_io` `io` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `io`.`user`))) left join `sys`.`x$memory_by_user_by_current_bytes` `mem` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `mem`.`user`))) group by if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) order by sum(`stmt`.`total_latency`) desc diff --git a/sandbox/servers/5.7/data/sys/user_summary_by_file_io.frm b/sandbox/servers/5.7/data/sys/user_summary_by_file_io.frm new file mode 100644 index 00000000..197a81db --- /dev/null +++ b/sandbox/servers/5.7/data/sys/user_summary_by_file_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR`) AS `ios`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`)) AS `io_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=08171b54a594819d1cd686ef84f12e31 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUM(count_star) AS ios, sys.format_time(SUM(sum_timer_wait)) AS io_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE \'wait/io/file/%\' GROUP BY IF(user IS NULL, \'background\', user) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR`) AS `ios`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`)) AS `io_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/user_summary_by_file_io_type.frm b/sandbox/servers/5.7/data/sys/user_summary_by_file_io_type.frm new file mode 100644 index 00000000..ab6b4b50 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/user_summary_by_file_io_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=bb1eca95354ebd09efbc2f63a5592c17 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE \'wait/io/file%\' AND count_star > 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/user_summary_by_stages.frm b/sandbox/servers/5.7/data/sys/user_summary_by_stages.frm new file mode 100644 index 00000000..f7a9b66f --- /dev/null +++ b/sandbox/servers/5.7/data/sys/user_summary_by_stages.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency` from `performance_schema`.`events_stages_summary_by_user_by_event_name` where (`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=921d12c21bf3cde11e6224b3719e1c57 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, event_name, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency FROM performance_schema.events_stages_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency` from `performance_schema`.`events_stages_summary_by_user_by_event_name` where (`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/user_summary_by_statement_latency.frm b/sandbox/servers/5.7/data/sys/user_summary_by_statement_latency.frm new file mode 100644 index 00000000..7aa51eb2 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/user_summary_by_statement_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME`)) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=64c0623e7a68382503fd211a4887fc40 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUM(count_star) AS total, sys.format_time(SUM(sum_timer_wait)) AS total_latency, sys.format_time(SUM(max_timer_wait)) AS max_latency, sys.format_time(SUM(sum_lock_time)) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name GROUP BY IF(user IS NULL, \'background\', user) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency`,`sys`.`format_time`(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME`)) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/user_summary_by_statement_type.frm b/sandbox/servers/5.7/data/sys/user_summary_by_statement_type.frm new file mode 100644 index 00000000..a74deb18 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/user_summary_by_statement_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,substring_index(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` where (`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=b6c16365a054d86720294f7524560282 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUBSTRING_INDEX(event_name, \'/\', -1) AS statement, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(max_timer_wait) AS max_latency, sys.format_time(sum_lock_time) AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,substring_index(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`sys`.`format_time`(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` where (`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/version.frm b/sandbox/servers/5.7/data/sys/version.frm new file mode 100644 index 00000000..9efc2ade --- /dev/null +++ b/sandbox/servers/5.7/data/sys/version.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select \'1.5.0\' AS `sys_version`,version() AS `mysql_version` +md5=fec0a6af7d895648f066cb71aed1302b +updatable=0 +algorithm=0 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:47:59 +create-version=1 +source=SELECT \'1.5.0\' AS sys_version, version() AS mysql_version +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select \'1.5.0\' AS `sys_version`,version() AS `mysql_version` diff --git a/sandbox/servers/5.7/data/sys/wait_classes_global_by_avg_latency.frm b/sandbox/servers/5.7/data/sys/wait_classes_global_by_avg_latency.frm new file mode 100644 index 00000000..7993c76d --- /dev/null +++ b/sandbox/servers/5.7/data/sys/wait_classes_global_by_avg_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(cast(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) as unsigned)) AS `total_latency`,`sys`.`format_time`(min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`)) AS `min_latency`,`sys`.`format_time`(ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0)) AS `avg_latency`,`sys`.`format_time`(cast(max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) as unsigned)) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by `event_class` order by ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) desc +md5=e15c3f083ad054b3c5e6b11c8d5e96df +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name,\'/\', 3) AS event_class, SUM(COUNT_STAR) AS total, sys.format_time(CAST(SUM(sum_timer_wait) AS UNSIGNED)) AS total_latency, sys.format_time(MIN(min_timer_wait)) AS min_latency, sys.format_time(IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0)) AS avg_latency, sys.format_time(CAST(MAX(max_timer_wait) AS UNSIGNED)) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != \'idle\' GROUP BY event_class ORDER BY IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(cast(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) as unsigned)) AS `total_latency`,`sys`.`format_time`(min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`)) AS `min_latency`,`sys`.`format_time`(ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0)) AS `avg_latency`,`sys`.`format_time`(cast(max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) as unsigned)) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by `event_class` order by ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) desc diff --git a/sandbox/servers/5.7/data/sys/wait_classes_global_by_latency.frm b/sandbox/servers/5.7/data/sys/wait_classes_global_by_latency.frm new file mode 100644 index 00000000..122bad1f --- /dev/null +++ b/sandbox/servers/5.7/data/sys/wait_classes_global_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`)) AS `min_latency`,`sys`.`format_time`(ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0)) AS `avg_latency`,`sys`.`format_time`(max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) order by sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=63e3f027629b1f5cc8803fe075d5b87a +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name,\'/\', 3) AS event_class, SUM(COUNT_STAR) AS total, sys.format_time(SUM(sum_timer_wait)) AS total_latency, sys.format_time(MIN(min_timer_wait)) min_latency, sys.format_time(IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0)) AS avg_latency, sys.format_time(MAX(max_timer_wait)) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != \'idle\' GROUP BY SUBSTRING_INDEX(event_name,\'/\', 3) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,`sys`.`format_time`(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`)) AS `total_latency`,`sys`.`format_time`(min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`)) AS `min_latency`,`sys`.`format_time`(ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0)) AS `avg_latency`,`sys`.`format_time`(max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`)) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) order by sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/waits_by_host_by_latency.frm b/sandbox/servers/5.7/data/sys/waits_by_host_by_latency.frm new file mode 100644 index 00000000..015bab09 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/waits_by_host_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=6a2ef7987b3d54b9ee36478de51f86c6 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, event_name AS event, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name != \'idle\' AND sum_timer_wait > 0 ORDER BY host, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/waits_by_user_by_latency.frm b/sandbox/servers/5.7/data/sys/waits_by_user_by_latency.frm new file mode 100644 index 00000000..1fd827f8 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/waits_by_user_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER` is not null) and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=75c47169d97af0ea414a9237f9d26ed2 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, event_name AS event, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name != \'idle\' AND user IS NOT NULL AND sum_timer_wait > 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER` is not null) and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/waits_global_by_latency.frm b/sandbox/servers/5.7/data/sys/waits_global_by_latency.frm new file mode 100644 index 00000000..986e8823 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/waits_global_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` AS `events`,`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_global_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by `performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` desc +md5=1829bdc0b005dd5de530fa44c0430f42 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT event_name AS event, count_star AS total, sys.format_time(sum_timer_wait) AS total_latency, sys.format_time(avg_timer_wait) AS avg_latency, sys.format_time(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE event_name != \'idle\' AND sum_timer_wait > 0 ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` AS `events`,`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR` AS `total`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_global_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,`sys`.`format_time`(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by `performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024host_summary.frm b/sandbox/servers/5.7/data/sys/x@0024host_summary.frm new file mode 100644 index 00000000..e4e95cd7 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024host_summary.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) AS `host`,sum(`stmt`.`total`) AS `statements`,sum(`stmt`.`total_latency`) AS `statement_latency`,(sum(`stmt`.`total_latency`) / sum(`stmt`.`total`)) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,sum(`io`.`io_latency`) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`USER`) AS `unique_users`,sum(`mem`.`current_allocated`) AS `current_memory`,sum(`mem`.`total_allocated`) AS `total_memory_allocated` from (((`performance_schema`.`accounts` join `sys`.`x$host_summary_by_statement_latency` `stmt` on((`performance_schema`.`accounts`.`HOST` = `stmt`.`host`))) join `sys`.`x$host_summary_by_file_io` `io` on((`performance_schema`.`accounts`.`HOST` = `io`.`host`))) join `sys`.`x$memory_by_host_by_current_bytes` `mem` on((`performance_schema`.`accounts`.`HOST` = `mem`.`host`))) group by if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) +md5=f66f55631884ccf08c40d226be32f1b0 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(accounts.host IS NULL, \'background\', accounts.host) AS host, SUM(stmt.total) AS statements, SUM(stmt.total_latency) AS statement_latency, SUM(stmt.total_latency) / SUM(stmt.total) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, SUM(io.io_latency) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT accounts.user) AS unique_users, SUM(mem.current_allocated) AS current_memory, SUM(mem.total_allocated) AS total_memory_allocated FROM performance_schema.accounts JOIN sys.x$host_summary_by_statement_latency AS stmt ON accounts.host = stmt.host JOIN sys.x$host_summary_by_file_io AS io ON accounts.host = io.host JOIN sys.x$memory_by_host_by_current_bytes mem ON accounts.host = mem.host GROUP BY IF(accounts.host IS NULL, \'background\', accounts.host) +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) AS `host`,sum(`stmt`.`total`) AS `statements`,sum(`stmt`.`total_latency`) AS `statement_latency`,(sum(`stmt`.`total_latency`) / sum(`stmt`.`total`)) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,sum(`io`.`io_latency`) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`USER`) AS `unique_users`,sum(`mem`.`current_allocated`) AS `current_memory`,sum(`mem`.`total_allocated`) AS `total_memory_allocated` from (((`performance_schema`.`accounts` join `sys`.`x$host_summary_by_statement_latency` `stmt` on((`performance_schema`.`accounts`.`HOST` = `stmt`.`host`))) join `sys`.`x$host_summary_by_file_io` `io` on((`performance_schema`.`accounts`.`HOST` = `io`.`host`))) join `sys`.`x$memory_by_host_by_current_bytes` `mem` on((`performance_schema`.`accounts`.`HOST` = `mem`.`host`))) group by if(isnull(`performance_schema`.`accounts`.`HOST`),\'background\',`performance_schema`.`accounts`.`HOST`) diff --git a/sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io.frm b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io.frm new file mode 100644 index 00000000..ee995b2c --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR`) AS `ios`,sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `io_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=dacbdae2dd69a150477114b88a491df1 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUM(count_star) AS ios, SUM(sum_timer_wait) AS io_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE \'wait/io/file/%\' GROUP BY IF(host IS NULL, \'background\', host) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR`) AS `ios`,sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `io_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io_type.frm b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io_type.frm new file mode 100644 index 00000000..47cb754b --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_file_io_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=10769ef5bc6d3c8906e4935b0c87aed6 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, event_name, count_star AS total, sum_timer_wait AS total_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name LIKE \'wait/io/file%\' AND count_star > 0 ORDER BY IF(host IS NULL, \'background\', host), sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024host_summary_by_stages.frm b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_stages.frm new file mode 100644 index 00000000..5f9201e0 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_stages.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency` from `performance_schema`.`events_stages_summary_by_host_by_event_name` where (`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=5a74ad222eb619620ba31a9d39473706 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, event_name, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency FROM performance_schema.events_stages_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, \'background\', host), sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_stages_summary_by_host_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency` from `performance_schema`.`events_stages_summary_by_host_by_event_name` where (`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_stages_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_stages_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_latency.frm b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_latency.frm new file mode 100644 index 00000000..0c5e8b8b --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=aa20b95861859d23d1375b5a122ce20d +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUM(count_star) AS total, SUM(sum_timer_wait) AS total_latency, SUM(max_timer_wait) AS max_latency, SUM(sum_lock_time) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name GROUP BY IF(host IS NULL, \'background\', host) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_type.frm b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_type.frm new file mode 100644 index 00000000..e22be2bd --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024host_summary_by_statement_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,substring_index(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME` AS `lock_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` where (`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=cb9b1f64455bd13b051727d7a2cd57b4 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUBSTRING_INDEX(event_name, \'/\', -1) AS statement, count_star AS total, sum_timer_wait AS total_latency, max_timer_wait AS max_latency, sum_lock_time AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_host_by_event_name WHERE sum_timer_wait != 0 ORDER BY IF(host IS NULL, \'background\', host), sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`) AS `host`,substring_index(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_LOCK_TIME` AS `lock_latency`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_host_by_event_name` where (`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_statements_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_statements_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_schema.frm b/sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_schema.frm new file mode 100644 index 00000000..7dd8d6e8 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_schema.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) AS `allocated`,sum(`ibp`.`DATA_SIZE`) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round(ifnull((sum(`ibp`.`NUMBER_RECORDS`) / nullif(count(distinct `ibp`.`INDEX_NAME`),0)),0),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc +md5=6e0bd592c7bd4abe24aa992c6c800fae +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(LOCATE(\'.\', ibp.table_name) = 0, \'InnoDB System\', REPLACE(SUBSTRING_INDEX(ibp.table_name, \'.\', 1), \'`\', \'\')) AS object_schema, SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) AS allocated, SUM(ibp.data_size) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = \'YES\', 1, 0)) AS pages_hashed, COUNT(IF(ibp.is_old = \'YES\', 1, 0)) AS pages_old, ROUND(IFNULL(SUM(ibp.number_records)/NULLIF(COUNT(DISTINCT ibp.index_name), 0), 0)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) AS `allocated`,sum(`ibp`.`DATA_SIZE`) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round(ifnull((sum(`ibp`.`NUMBER_RECORDS`) / nullif(count(distinct `ibp`.`INDEX_NAME`),0)),0),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_table.frm b/sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_table.frm new file mode 100644 index 00000000..1877215d --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024innodb_buffer_stats_by_table.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',-(1)),\'`\',\'\') AS `object_name`,sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) AS `allocated`,sum(`ibp`.`DATA_SIZE`) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round(ifnull((sum(`ibp`.`NUMBER_RECORDS`) / nullif(count(distinct `ibp`.`INDEX_NAME`),0)),0),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema`,`object_name` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc +md5=fd32e8f13b4ef50a0523074acebfb7ed +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(LOCATE(\'.\', ibp.table_name) = 0, \'InnoDB System\', REPLACE(SUBSTRING_INDEX(ibp.table_name, \'.\', 1), \'`\', \'\')) AS object_schema, REPLACE(SUBSTRING_INDEX(ibp.table_name, \'.\', -1), \'`\', \'\') AS object_name, SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) AS allocated, SUM(ibp.data_size) AS data, COUNT(ibp.page_number) AS pages, COUNT(IF(ibp.is_hashed = \'YES\', 1, 0)) AS pages_hashed, COUNT(IF(ibp.is_old = \'YES\', 1, 0)) AS pages_old, ROUND(IFNULL(SUM(ibp.number_records)/NULLIF(COUNT(DISTINCT ibp.index_name), 0), 0)) AS rows_cached FROM information_schema.innodb_buffer_page ibp WHERE table_name IS NOT NULL GROUP BY object_schema, object_name ORDER BY SUM(IF(ibp.compressed_size = 0, 16384, compressed_size)) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if((locate(\'.\',`ibp`.`TABLE_NAME`) = 0),\'InnoDB System\',replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',1),\'`\',\'\')) AS `object_schema`,replace(substring_index(`ibp`.`TABLE_NAME`,\'.\',-(1)),\'`\',\'\') AS `object_name`,sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) AS `allocated`,sum(`ibp`.`DATA_SIZE`) AS `data`,count(`ibp`.`PAGE_NUMBER`) AS `pages`,count(if((`ibp`.`IS_HASHED` = \'YES\'),1,0)) AS `pages_hashed`,count(if((`ibp`.`IS_OLD` = \'YES\'),1,0)) AS `pages_old`,round(ifnull((sum(`ibp`.`NUMBER_RECORDS`) / nullif(count(distinct `ibp`.`INDEX_NAME`),0)),0),0) AS `rows_cached` from `information_schema`.`innodb_buffer_page` `ibp` where (`ibp`.`TABLE_NAME` is not null) group by `object_schema`,`object_name` order by sum(if((`ibp`.`COMPRESSED_SIZE` = 0),16384,`ibp`.`COMPRESSED_SIZE`)) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024innodb_lock_waits.frm b/sandbox/servers/5.7/data/sys/x@0024innodb_lock_waits.frm new file mode 100644 index 00000000..7fce77b3 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024innodb_lock_waits.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `r`.`trx_wait_started` AS `wait_started`,timediff(now(),`r`.`trx_wait_started`) AS `wait_age`,timestampdiff(SECOND,`r`.`trx_wait_started`,now()) AS `wait_age_secs`,`rl`.`lock_table` AS `locked_table`,`rl`.`lock_index` AS `locked_index`,`rl`.`lock_type` AS `locked_type`,`r`.`trx_id` AS `waiting_trx_id`,`r`.`trx_started` AS `waiting_trx_started`,timediff(now(),`r`.`trx_started`) AS `waiting_trx_age`,`r`.`trx_rows_locked` AS `waiting_trx_rows_locked`,`r`.`trx_rows_modified` AS `waiting_trx_rows_modified`,`r`.`trx_mysql_thread_id` AS `waiting_pid`,`r`.`trx_query` AS `waiting_query`,`rl`.`lock_id` AS `waiting_lock_id`,`rl`.`lock_mode` AS `waiting_lock_mode`,`b`.`trx_id` AS `blocking_trx_id`,`b`.`trx_mysql_thread_id` AS `blocking_pid`,`b`.`trx_query` AS `blocking_query`,`bl`.`lock_id` AS `blocking_lock_id`,`bl`.`lock_mode` AS `blocking_lock_mode`,`b`.`trx_started` AS `blocking_trx_started`,timediff(now(),`b`.`trx_started`) AS `blocking_trx_age`,`b`.`trx_rows_locked` AS `blocking_trx_rows_locked`,`b`.`trx_rows_modified` AS `blocking_trx_rows_modified`,concat(\'KILL QUERY \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_query`,concat(\'KILL \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_connection` from ((((`information_schema`.`innodb_lock_waits` `w` join `information_schema`.`innodb_trx` `b` on((`b`.`trx_id` = `w`.`blocking_trx_id`))) join `information_schema`.`innodb_trx` `r` on((`r`.`trx_id` = `w`.`requesting_trx_id`))) join `information_schema`.`innodb_locks` `bl` on((`bl`.`lock_id` = `w`.`blocking_lock_id`))) join `information_schema`.`innodb_locks` `rl` on((`rl`.`lock_id` = `w`.`requested_lock_id`))) order by `r`.`trx_wait_started` +md5=929bb457ad61f53c1bbf2329524fa499 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT r.trx_wait_started AS wait_started, TIMEDIFF(NOW(), r.trx_wait_started) AS wait_age, TIMESTAMPDIFF(SECOND, r.trx_wait_started, NOW()) AS wait_age_secs, rl.lock_table AS locked_table, rl.lock_index AS locked_index, rl.lock_type AS locked_type, r.trx_id AS waiting_trx_id, r.trx_started as waiting_trx_started, TIMEDIFF(NOW(), r.trx_started) AS waiting_trx_age, r.trx_rows_locked AS waiting_trx_rows_locked, r.trx_rows_modified AS waiting_trx_rows_modified, r.trx_mysql_thread_id AS waiting_pid, r.trx_query AS waiting_query, rl.lock_id AS waiting_lock_id, rl.lock_mode AS waiting_lock_mode, b.trx_id AS blocking_trx_id, b.trx_mysql_thread_id AS blocking_pid, b.trx_query AS blocking_query, bl.lock_id AS blocking_lock_id, bl.lock_mode AS blocking_lock_mode, b.trx_started AS blocking_trx_started, TIMEDIFF(NOW(), b.trx_started) AS blocking_trx_age, b.trx_rows_locked AS blocking_trx_rows_locked, b.trx_rows_modified AS blocking_trx_rows_modified, CONCAT(\'KILL QUERY \', b.trx_mysql_thread_id) AS sql_kill_blocking_query, CONCAT(\'KILL \', b.trx_mysql_thread_id) AS sql_kill_blocking_connection FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id INNER JOIN information_schema.innodb_locks bl ON bl.lock_id = w.blocking_lock_id INNER JOIN information_schema.innodb_locks rl ON rl.lock_id = w.requested_lock_id ORDER BY r.trx_wait_started +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `r`.`trx_wait_started` AS `wait_started`,timediff(now(),`r`.`trx_wait_started`) AS `wait_age`,timestampdiff(SECOND,`r`.`trx_wait_started`,now()) AS `wait_age_secs`,`rl`.`lock_table` AS `locked_table`,`rl`.`lock_index` AS `locked_index`,`rl`.`lock_type` AS `locked_type`,`r`.`trx_id` AS `waiting_trx_id`,`r`.`trx_started` AS `waiting_trx_started`,timediff(now(),`r`.`trx_started`) AS `waiting_trx_age`,`r`.`trx_rows_locked` AS `waiting_trx_rows_locked`,`r`.`trx_rows_modified` AS `waiting_trx_rows_modified`,`r`.`trx_mysql_thread_id` AS `waiting_pid`,`r`.`trx_query` AS `waiting_query`,`rl`.`lock_id` AS `waiting_lock_id`,`rl`.`lock_mode` AS `waiting_lock_mode`,`b`.`trx_id` AS `blocking_trx_id`,`b`.`trx_mysql_thread_id` AS `blocking_pid`,`b`.`trx_query` AS `blocking_query`,`bl`.`lock_id` AS `blocking_lock_id`,`bl`.`lock_mode` AS `blocking_lock_mode`,`b`.`trx_started` AS `blocking_trx_started`,timediff(now(),`b`.`trx_started`) AS `blocking_trx_age`,`b`.`trx_rows_locked` AS `blocking_trx_rows_locked`,`b`.`trx_rows_modified` AS `blocking_trx_rows_modified`,concat(\'KILL QUERY \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_query`,concat(\'KILL \',`b`.`trx_mysql_thread_id`) AS `sql_kill_blocking_connection` from ((((`information_schema`.`innodb_lock_waits` `w` join `information_schema`.`innodb_trx` `b` on((`b`.`trx_id` = `w`.`blocking_trx_id`))) join `information_schema`.`innodb_trx` `r` on((`r`.`trx_id` = `w`.`requesting_trx_id`))) join `information_schema`.`innodb_locks` `bl` on((`bl`.`lock_id` = `w`.`blocking_lock_id`))) join `information_schema`.`innodb_locks` `rl` on((`rl`.`lock_id` = `w`.`requested_lock_id`))) order by `r`.`trx_wait_started` diff --git a/sandbox/servers/5.7/data/sys/x@0024io_by_thread_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024io_by_thread_by_latency.frm new file mode 100644 index 00000000..05b6bc38 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024io_by_thread_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`threads`.`PROCESSLIST_ID`),substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),concat(`performance_schema`.`threads`.`PROCESSLIST_USER`,\'@\',`performance_schema`.`threads`.`PROCESSLIST_HOST`)) AS `user`,sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,min(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,avg(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,max(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` AS `thread_id`,`performance_schema`.`threads`.`PROCESSLIST_ID` AS `processlist_id` from (`performance_schema`.`events_waits_summary_by_thread_by_event_name` left join `performance_schema`.`threads` on((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) where ((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT` > 0)) group by `performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID`,`performance_schema`.`threads`.`PROCESSLIST_ID`,`user` order by sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=af72750fde16f9a7890465abef5fe8d8 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(processlist_id IS NULL, SUBSTRING_INDEX(name, \'/\', -1), CONCAT(processlist_user, \'@\', processlist_host) ) user, SUM(count_star) total, SUM(sum_timer_wait) total_latency, MIN(min_timer_wait) min_latency, AVG(avg_timer_wait) avg_latency, MAX(max_timer_wait) max_latency, thread_id, processlist_id FROM performance_schema.events_waits_summary_by_thread_by_event_name LEFT JOIN performance_schema.threads USING (thread_id) WHERE event_name LIKE \'wait/io/file/%\' AND sum_timer_wait > 0 GROUP BY thread_id, processlist_id, user ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`threads`.`PROCESSLIST_ID`),substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),concat(`performance_schema`.`threads`.`PROCESSLIST_USER`,\'@\',`performance_schema`.`threads`.`PROCESSLIST_HOST`)) AS `user`,sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,min(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,avg(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`AVG_TIMER_WAIT`) AS `avg_latency`,max(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` AS `thread_id`,`performance_schema`.`threads`.`PROCESSLIST_ID` AS `processlist_id` from (`performance_schema`.`events_waits_summary_by_thread_by_event_name` left join `performance_schema`.`threads` on((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) where ((`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT` > 0)) group by `performance_schema`.`events_waits_summary_by_thread_by_event_name`.`THREAD_ID`,`performance_schema`.`threads`.`PROCESSLIST_ID`,`user` order by sum(`performance_schema`.`events_waits_summary_by_thread_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_bytes.frm b/sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_bytes.frm new file mode 100644 index 00000000..84e985d6 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`file_summary_by_instance`.`FILE_NAME` AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` AS `total_read`,ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_READ`,0)),0) AS `avg_read`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE` AS `total_written`,ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE`,0)),0.00) AS `avg_write`,(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total`,ifnull(round((100 - ((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`),0)) * 100)),2),0.00) AS `write_pct` from `performance_schema`.`file_summary_by_instance` order by (`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) desc +md5=5ebb1b416d85d1fcca42b4204f0341b4 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT file_name AS file, count_read, sum_number_of_bytes_read AS total_read, IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0) AS avg_read, count_write, sum_number_of_bytes_write AS total_written, IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0.00) AS avg_write, sum_number_of_bytes_read + sum_number_of_bytes_write AS total, IFNULL(ROUND(100-((sum_number_of_bytes_read/ NULLIF((sum_number_of_bytes_read+sum_number_of_bytes_write), 0))*100), 2), 0.00) AS write_pct FROM performance_schema.file_summary_by_instance ORDER BY sum_number_of_bytes_read + sum_number_of_bytes_write DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`file_summary_by_instance`.`FILE_NAME` AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` AS `total_read`,ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_READ`,0)),0) AS `avg_read`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE` AS `total_written`,ifnull((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE`,0)),0.00) AS `avg_write`,(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `total`,ifnull(round((100 - ((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` / nullif((`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`),0)) * 100)),2),0.00) AS `write_pct` from `performance_schema`.`file_summary_by_instance` order by (`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ` + `performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_latency.frm new file mode 100644 index 00000000..55104a45 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024io_global_by_file_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`file_summary_by_instance`.`FILE_NAME` AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_STAR` AS `total`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_READ` AS `read_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WRITE` AS `write_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_MISC` AS `count_misc`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_MISC` AS `misc_latency` from `performance_schema`.`file_summary_by_instance` order by `performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT` desc +md5=7dd2b8d418cc363387dfae597c25a9f4 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT file_name AS file, count_star AS total, sum_timer_wait AS total_latency, count_read, sum_timer_read AS read_latency, count_write, sum_timer_write AS write_latency, count_misc, sum_timer_misc AS misc_latency FROM performance_schema.file_summary_by_instance ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`file_summary_by_instance`.`FILE_NAME` AS `file`,`performance_schema`.`file_summary_by_instance`.`COUNT_STAR` AS `total`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_READ` AS `read_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WRITE` AS `write_latency`,`performance_schema`.`file_summary_by_instance`.`COUNT_MISC` AS `count_misc`,`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_MISC` AS `misc_latency` from `performance_schema`.`file_summary_by_instance` order by `performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_bytes.frm b/sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_bytes.frm new file mode 100644 index 00000000..064c8173 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`file_summary_by_event_name`.`MIN_TIMER_WAIT` AS `min_latency`,`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` AS `total_read`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` AS `total_written`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0) AS `avg_written`,(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_requested` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by (`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) desc +md5=c765ec17653a9f03613308a5fdd65c81 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name, \'/\', -2) AS event_name, count_star AS total, sum_timer_wait AS total_latency, min_timer_wait AS min_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency, count_read, sum_number_of_bytes_read AS total_read, IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0) AS avg_read, count_write, sum_number_of_bytes_write AS total_written, IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0) AS avg_written, sum_number_of_bytes_write + sum_number_of_bytes_read AS total_requested FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE \'wait/io/file/%\' AND count_star > 0 ORDER BY sum_number_of_bytes_write + sum_number_of_bytes_read DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`file_summary_by_event_name`.`MIN_TIMER_WAIT` AS `min_latency`,`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` AS `total_read`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` AS `total_written`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0) AS `avg_written`,(`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) AS `total_requested` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by (`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` + `performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_latency.frm new file mode 100644 index 00000000..36be1af1 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024io_global_by_wait_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_READ` AS `read_latency`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WRITE` AS `write_latency`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_MISC` AS `misc_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` AS `total_read`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` AS `total_written`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0) AS `avg_written` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by `performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` desc +md5=a90dc8f3b75494a07b6b00becc72d3c2 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name, \'/\', -2) AS event_name, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency, sum_timer_read AS read_latency, sum_timer_write AS write_latency, sum_timer_misc AS misc_latency, count_read, sum_number_of_bytes_read AS total_read, IFNULL(sum_number_of_bytes_read / NULLIF(count_read, 0), 0) AS avg_read, count_write, sum_number_of_bytes_write AS total_written, IFNULL(sum_number_of_bytes_write / NULLIF(count_write, 0), 0) AS avg_written FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE \'wait/io/file/%\' AND count_star > 0 ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME`,\'/\',-(2)) AS `event_name`,`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`file_summary_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`file_summary_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_READ` AS `read_latency`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WRITE` AS `write_latency`,`performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_MISC` AS `misc_latency`,`performance_schema`.`file_summary_by_event_name`.`COUNT_READ` AS `count_read`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` AS `total_read`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_READ` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_READ`,0)),0) AS `avg_read`,`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE` AS `count_write`,`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` AS `total_written`,ifnull((`performance_schema`.`file_summary_by_event_name`.`SUM_NUMBER_OF_BYTES_WRITE` / nullif(`performance_schema`.`file_summary_by_event_name`.`COUNT_WRITE`,0)),0) AS `avg_written` from `performance_schema`.`file_summary_by_event_name` where ((`performance_schema`.`file_summary_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') and (`performance_schema`.`file_summary_by_event_name`.`COUNT_STAR` > 0)) order by `performance_schema`.`file_summary_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024latest_file_io.frm b/sandbox/servers/5.7/data/sys/x@0024latest_file_io.frm new file mode 100644 index 00000000..1931ad00 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024latest_file_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`information_schema`.`processlist`.`ID`),concat(substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),\':\',`performance_schema`.`events_waits_history_long`.`THREAD_ID`),concat(`information_schema`.`processlist`.`USER`,\'@\',`information_schema`.`processlist`.`HOST`,\':\',`information_schema`.`processlist`.`ID`)) AS `thread`,`performance_schema`.`events_waits_history_long`.`OBJECT_NAME` AS `file`,`performance_schema`.`events_waits_history_long`.`TIMER_WAIT` AS `latency`,`performance_schema`.`events_waits_history_long`.`OPERATION` AS `operation`,`performance_schema`.`events_waits_history_long`.`NUMBER_OF_BYTES` AS `requested` from ((`performance_schema`.`events_waits_history_long` join `performance_schema`.`threads` on((`performance_schema`.`events_waits_history_long`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) left join `information_schema`.`processlist` on((`performance_schema`.`threads`.`PROCESSLIST_ID` = `information_schema`.`processlist`.`ID`))) where ((`performance_schema`.`events_waits_history_long`.`OBJECT_NAME` is not null) and (`performance_schema`.`events_waits_history_long`.`EVENT_NAME` like \'wait/io/file/%\')) order by `performance_schema`.`events_waits_history_long`.`TIMER_START` +md5=383e8b23227c5c066a4eb4b739d1d979 +updatable=0 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(id IS NULL, CONCAT(SUBSTRING_INDEX(name, \'/\', -1), \':\', thread_id), CONCAT(user, \'@\', host, \':\', id) ) thread, object_name file, timer_wait AS latency, operation, number_of_bytes AS requested FROM performance_schema.events_waits_history_long JOIN performance_schema.threads USING (thread_id) LEFT JOIN information_schema.processlist ON processlist_id = id WHERE object_name IS NOT NULL AND event_name LIKE \'wait/io/file/%\' ORDER BY timer_start +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`information_schema`.`processlist`.`ID`),concat(substring_index(`performance_schema`.`threads`.`NAME`,\'/\',-(1)),\':\',`performance_schema`.`events_waits_history_long`.`THREAD_ID`),concat(`information_schema`.`processlist`.`USER`,\'@\',`information_schema`.`processlist`.`HOST`,\':\',`information_schema`.`processlist`.`ID`)) AS `thread`,`performance_schema`.`events_waits_history_long`.`OBJECT_NAME` AS `file`,`performance_schema`.`events_waits_history_long`.`TIMER_WAIT` AS `latency`,`performance_schema`.`events_waits_history_long`.`OPERATION` AS `operation`,`performance_schema`.`events_waits_history_long`.`NUMBER_OF_BYTES` AS `requested` from ((`performance_schema`.`events_waits_history_long` join `performance_schema`.`threads` on((`performance_schema`.`events_waits_history_long`.`THREAD_ID` = `performance_schema`.`threads`.`THREAD_ID`))) left join `information_schema`.`processlist` on((`performance_schema`.`threads`.`PROCESSLIST_ID` = `information_schema`.`processlist`.`ID`))) where ((`performance_schema`.`events_waits_history_long`.`OBJECT_NAME` is not null) and (`performance_schema`.`events_waits_history_long`.`EVENT_NAME` like \'wait/io/file/%\')) order by `performance_schema`.`events_waits_history_long`.`TIMER_START` diff --git a/sandbox/servers/5.7/data/sys/x@0024memory_by_host_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/x@0024memory_by_host_by_current_bytes.frm new file mode 100644 index 00000000..6c3171cd --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024memory_by_host_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_allocated`,ifnull((sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`),0)),0) AS `current_avg_alloc`,max(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_max_alloc`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `total_allocated` from `performance_schema`.`memory_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc +md5=5c8997697fa41c182077938f3fef1469 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, SUM(current_count_used) AS current_count_used, SUM(current_number_of_bytes_used) AS current_allocated, IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0) AS current_avg_alloc, MAX(current_number_of_bytes_used) AS current_max_alloc, SUM(sum_number_of_bytes_alloc) AS total_allocated FROM performance_schema.memory_summary_by_host_by_event_name GROUP BY IF(host IS NULL, \'background\', host) ORDER BY SUM(current_number_of_bytes_used) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) AS `host`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_allocated`,ifnull((sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_COUNT_USED`),0)),0) AS `current_avg_alloc`,max(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_max_alloc`,sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `total_allocated` from `performance_schema`.`memory_summary_by_host_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`memory_summary_by_host_by_event_name`.`HOST`) order by sum(`performance_schema`.`memory_summary_by_host_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024memory_by_thread_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/x@0024memory_by_thread_by_current_bytes.frm new file mode 100644 index 00000000..8ad0aa92 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024memory_by_thread_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `t`.`THREAD_ID` AS `thread_id`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) AS `user`,sum(`mt`.`CURRENT_COUNT_USED`) AS `current_count_used`,sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_allocated`,ifnull((sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`mt`.`CURRENT_COUNT_USED`),0)),0) AS `current_avg_alloc`,max(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_max_alloc`,sum(`mt`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `total_allocated` from (`performance_schema`.`memory_summary_by_thread_by_event_name` `mt` join `performance_schema`.`threads` `t` on((`mt`.`THREAD_ID` = `t`.`THREAD_ID`))) group by `t`.`THREAD_ID`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) order by sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) desc +md5=cc53b9c3a372316d91714f5733e30048 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT t.thread_id, IF(t.name = \'thread/sql/one_connection\', CONCAT(t.processlist_user, \'@\', t.processlist_host), REPLACE(t.name, \'thread/\', \'\')) user, SUM(mt.current_count_used) AS current_count_used, SUM(mt.current_number_of_bytes_used) AS current_allocated, IFNULL(SUM(mt.current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0) AS current_avg_alloc, MAX(mt.current_number_of_bytes_used) AS current_max_alloc, SUM(mt.sum_number_of_bytes_alloc) AS total_allocated FROM performance_schema.memory_summary_by_thread_by_event_name AS mt JOIN performance_schema.threads AS t USING (thread_id) GROUP BY thread_id, IF(t.name = \'thread/sql/one_connection\', CONCAT(t.processlist_user, \'@\', t.processlist_host), REPLACE(t.name, \'thread/\', \'\')) ORDER BY SUM(mt.current_number_of_bytes_used) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `t`.`THREAD_ID` AS `thread_id`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) AS `user`,sum(`mt`.`CURRENT_COUNT_USED`) AS `current_count_used`,sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_allocated`,ifnull((sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`mt`.`CURRENT_COUNT_USED`),0)),0) AS `current_avg_alloc`,max(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_max_alloc`,sum(`mt`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `total_allocated` from (`performance_schema`.`memory_summary_by_thread_by_event_name` `mt` join `performance_schema`.`threads` `t` on((`mt`.`THREAD_ID` = `t`.`THREAD_ID`))) group by `t`.`THREAD_ID`,if((`t`.`NAME` = \'thread/sql/one_connection\'),concat(`t`.`PROCESSLIST_USER`,\'@\',`t`.`PROCESSLIST_HOST`),replace(`t`.`NAME`,\'thread/\',\'\')) order by sum(`mt`.`CURRENT_NUMBER_OF_BYTES_USED`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024memory_by_user_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/x@0024memory_by_user_by_current_bytes.frm new file mode 100644 index 00000000..46b614ea --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024memory_by_user_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_allocated`,ifnull((sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`),0)),0) AS `current_avg_alloc`,max(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_max_alloc`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `total_allocated` from `performance_schema`.`memory_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc +md5=044a028c2b40060ad1515c4a6866586d +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUM(current_count_used) AS current_count_used, SUM(current_number_of_bytes_used) AS current_allocated, IFNULL(SUM(current_number_of_bytes_used) / NULLIF(SUM(current_count_used), 0), 0) AS current_avg_alloc, MAX(current_number_of_bytes_used) AS current_max_alloc, SUM(sum_number_of_bytes_alloc) AS total_allocated FROM performance_schema.memory_summary_by_user_by_event_name GROUP BY IF(user IS NULL, \'background\', user) ORDER BY SUM(current_number_of_bytes_used) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`) AS `current_count_used`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_allocated`,ifnull((sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) / nullif(sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_COUNT_USED`),0)),0) AS `current_avg_alloc`,max(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `current_max_alloc`,sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`SUM_NUMBER_OF_BYTES_ALLOC`) AS `total_allocated` from `performance_schema`.`memory_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`memory_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`memory_summary_by_user_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024memory_global_by_current_bytes.frm b/sandbox/servers/5.7/data/sys/x@0024memory_global_by_current_bytes.frm new file mode 100644 index 00000000..bfe95137 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024memory_global_by_current_bytes.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`memory_summary_global_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED` AS `current_count`,`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` AS `current_alloc`,ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED`,0)),0) AS `current_avg_alloc`,`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED` AS `high_count`,`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED` AS `high_alloc`,ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED`,0)),0) AS `high_avg_alloc` from `performance_schema`.`memory_summary_global_by_event_name` where (`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` > 0) order by `performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` desc +md5=b3525c0bd96d804b396c1bf2fcc5feba +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT event_name, current_count_used AS current_count, current_number_of_bytes_used AS current_alloc, IFNULL(current_number_of_bytes_used / NULLIF(current_count_used, 0), 0) AS current_avg_alloc, high_count_used AS high_count, high_number_of_bytes_used AS high_alloc, IFNULL(high_number_of_bytes_used / NULLIF(high_count_used, 0), 0) AS high_avg_alloc FROM performance_schema.memory_summary_global_by_event_name WHERE current_number_of_bytes_used > 0 ORDER BY current_number_of_bytes_used DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`memory_summary_global_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED` AS `current_count`,`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` AS `current_alloc`,ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_COUNT_USED`,0)),0) AS `current_avg_alloc`,`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED` AS `high_count`,`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED` AS `high_alloc`,ifnull((`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_NUMBER_OF_BYTES_USED` / nullif(`performance_schema`.`memory_summary_global_by_event_name`.`HIGH_COUNT_USED`,0)),0) AS `high_avg_alloc` from `performance_schema`.`memory_summary_global_by_event_name` where (`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` > 0) order by `performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024memory_global_total.frm b/sandbox/servers/5.7/data/sys/x@0024memory_global_total.frm new file mode 100644 index 00000000..d5218e15 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024memory_global_total.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select sum(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `total_allocated` from `performance_schema`.`memory_summary_global_by_event_name` +md5=6f943b5a93d4d8b6c06840dbfa5027a9 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT SUM(CURRENT_NUMBER_OF_BYTES_USED) total_allocated FROM performance_schema.memory_summary_global_by_event_name +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select sum(`performance_schema`.`memory_summary_global_by_event_name`.`CURRENT_NUMBER_OF_BYTES_USED`) AS `total_allocated` from `performance_schema`.`memory_summary_global_by_event_name` diff --git a/sandbox/servers/5.7/data/sys/x@0024processlist.frm b/sandbox/servers/5.7/data/sys/x@0024processlist.frm new file mode 100644 index 00000000..923a52bb --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024processlist.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `pps`.`THREAD_ID` AS `thd_id`,`pps`.`PROCESSLIST_ID` AS `conn_id`,if((`pps`.`NAME` = \'thread/sql/one_connection\'),concat(`pps`.`PROCESSLIST_USER`,\'@\',`pps`.`PROCESSLIST_HOST`),replace(`pps`.`NAME`,\'thread/\',\'\')) AS `user`,`pps`.`PROCESSLIST_DB` AS `db`,`pps`.`PROCESSLIST_COMMAND` AS `command`,`pps`.`PROCESSLIST_STATE` AS `state`,`pps`.`PROCESSLIST_TIME` AS `time`,`pps`.`PROCESSLIST_INFO` AS `current_statement`,if(isnull(`esc`.`END_EVENT_ID`),`esc`.`TIMER_WAIT`,NULL) AS `statement_latency`,if(isnull(`esc`.`END_EVENT_ID`),round((100 * (`estc`.`WORK_COMPLETED` / `estc`.`WORK_ESTIMATED`)),2),NULL) AS `progress`,`esc`.`LOCK_TIME` AS `lock_latency`,`esc`.`ROWS_EXAMINED` AS `rows_examined`,`esc`.`ROWS_SENT` AS `rows_sent`,`esc`.`ROWS_AFFECTED` AS `rows_affected`,`esc`.`CREATED_TMP_TABLES` AS `tmp_tables`,`esc`.`CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,if(((`esc`.`NO_GOOD_INDEX_USED` > 0) or (`esc`.`NO_INDEX_USED` > 0)),\'YES\',\'NO\') AS `full_scan`,if((`esc`.`END_EVENT_ID` is not null),`esc`.`SQL_TEXT`,NULL) AS `last_statement`,if((`esc`.`END_EVENT_ID` is not null),`esc`.`TIMER_WAIT`,NULL) AS `last_statement_latency`,`mem`.`current_allocated` AS `current_memory`,`ewc`.`EVENT_NAME` AS `last_wait`,if((isnull(`ewc`.`END_EVENT_ID`) and (`ewc`.`EVENT_NAME` is not null)),\'Still Waiting\',`ewc`.`TIMER_WAIT`) AS `last_wait_latency`,`ewc`.`SOURCE` AS `source`,`etc`.`TIMER_WAIT` AS `trx_latency`,`etc`.`STATE` AS `trx_state`,`etc`.`AUTOCOMMIT` AS `trx_autocommit`,`conattr_pid`.`ATTR_VALUE` AS `pid`,`conattr_progname`.`ATTR_VALUE` AS `program_name` from (((((((`performance_schema`.`threads` `pps` left join `performance_schema`.`events_waits_current` `ewc` on((`pps`.`THREAD_ID` = `ewc`.`THREAD_ID`))) left join `performance_schema`.`events_stages_current` `estc` on((`pps`.`THREAD_ID` = `estc`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `esc` on((`pps`.`THREAD_ID` = `esc`.`THREAD_ID`))) left join `performance_schema`.`events_transactions_current` `etc` on((`pps`.`THREAD_ID` = `etc`.`THREAD_ID`))) left join `sys`.`x$memory_by_thread_by_current_bytes` `mem` on((`pps`.`THREAD_ID` = `mem`.`thread_id`))) left join `performance_schema`.`session_connect_attrs` `conattr_pid` on(((`conattr_pid`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_pid`.`ATTR_NAME` = \'_pid\')))) left join `performance_schema`.`session_connect_attrs` `conattr_progname` on(((`conattr_progname`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_progname`.`ATTR_NAME` = \'program_name\')))) order by `pps`.`PROCESSLIST_TIME` desc,`last_wait_latency` desc +md5=ee7a3b5b10ac522dd208856a6366bda1 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:04 +create-version=1 +source=SELECT pps.thread_id AS thd_id, pps.processlist_id AS conn_id, IF(pps.name = \'thread/sql/one_connection\', CONCAT(pps.processlist_user, \'@\', pps.processlist_host), REPLACE(pps.name, \'thread/\', \'\')) user, pps.processlist_db AS db, pps.processlist_command AS command, pps.processlist_state AS state, pps.processlist_time AS time, pps.processlist_info AS current_statement, IF(esc.end_event_id IS NULL, esc.timer_wait, NULL) AS statement_latency, IF(esc.end_event_id IS NULL, ROUND(100 * (estc.work_completed / estc.work_estimated), 2), NULL) AS progress, esc.lock_time AS lock_latency, esc.rows_examined AS rows_examined, esc.rows_sent AS rows_sent, esc.rows_affected AS rows_affected, esc.created_tmp_tables AS tmp_tables, esc.created_tmp_disk_tables AS tmp_disk_tables, IF(esc.no_good_index_used > 0 OR esc.no_index_used > 0, \'YES\', \'NO\') AS full_scan, IF(esc.end_event_id IS NOT NULL, esc.sql_text, NULL) AS last_statement, IF(esc.end_event_id IS NOT NULL, esc.timer_wait, NULL) AS last_statement_latency, mem.current_allocated AS current_memory, ewc.event_name AS last_wait, IF(ewc.end_event_id IS NULL AND ewc.event_name IS NOT NULL, \'Still Waiting\', ewc.timer_wait) last_wait_latency, ewc.source, etc.timer_wait AS trx_latency, etc.state AS trx_state, etc.autocommit AS trx_autocommit, conattr_pid.attr_value as pid, conattr_progname.attr_value as program_name FROM performance_schema.threads AS pps LEFT JOIN performance_schema.events_waits_current AS ewc USING (thread_id) LEFT JOIN performance_schema.events_stages_current AS estc USING (thread_id) LEFT JOIN performance_schema.events_statements_current AS esc USING (thread_id) LEFT JOIN performance_schema.events_transactions_current AS etc USING (thread_id) LEFT JOIN sys.x$memory_by_thread_by_current_bytes AS mem USING (thread_id) LEFT JOIN performance_schema.session_connect_attrs AS conattr_pid ON conattr_pid.processlist_id=pps.processlist_id and conattr_pid.attr_name=\'_pid\' LEFT JOIN performance_schema.session_connect_attrs AS conattr_progname ON conattr_progname.processlist_id=pps.processlist_id and conattr_progname.attr_name=\'program_name\' ORDER BY pps.processlist_time DESC, last_wait_latency DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `pps`.`THREAD_ID` AS `thd_id`,`pps`.`PROCESSLIST_ID` AS `conn_id`,if((`pps`.`NAME` = \'thread/sql/one_connection\'),concat(`pps`.`PROCESSLIST_USER`,\'@\',`pps`.`PROCESSLIST_HOST`),replace(`pps`.`NAME`,\'thread/\',\'\')) AS `user`,`pps`.`PROCESSLIST_DB` AS `db`,`pps`.`PROCESSLIST_COMMAND` AS `command`,`pps`.`PROCESSLIST_STATE` AS `state`,`pps`.`PROCESSLIST_TIME` AS `time`,`pps`.`PROCESSLIST_INFO` AS `current_statement`,if(isnull(`esc`.`END_EVENT_ID`),`esc`.`TIMER_WAIT`,NULL) AS `statement_latency`,if(isnull(`esc`.`END_EVENT_ID`),round((100 * (`estc`.`WORK_COMPLETED` / `estc`.`WORK_ESTIMATED`)),2),NULL) AS `progress`,`esc`.`LOCK_TIME` AS `lock_latency`,`esc`.`ROWS_EXAMINED` AS `rows_examined`,`esc`.`ROWS_SENT` AS `rows_sent`,`esc`.`ROWS_AFFECTED` AS `rows_affected`,`esc`.`CREATED_TMP_TABLES` AS `tmp_tables`,`esc`.`CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,if(((`esc`.`NO_GOOD_INDEX_USED` > 0) or (`esc`.`NO_INDEX_USED` > 0)),\'YES\',\'NO\') AS `full_scan`,if((`esc`.`END_EVENT_ID` is not null),`esc`.`SQL_TEXT`,NULL) AS `last_statement`,if((`esc`.`END_EVENT_ID` is not null),`esc`.`TIMER_WAIT`,NULL) AS `last_statement_latency`,`mem`.`current_allocated` AS `current_memory`,`ewc`.`EVENT_NAME` AS `last_wait`,if((isnull(`ewc`.`END_EVENT_ID`) and (`ewc`.`EVENT_NAME` is not null)),\'Still Waiting\',`ewc`.`TIMER_WAIT`) AS `last_wait_latency`,`ewc`.`SOURCE` AS `source`,`etc`.`TIMER_WAIT` AS `trx_latency`,`etc`.`STATE` AS `trx_state`,`etc`.`AUTOCOMMIT` AS `trx_autocommit`,`conattr_pid`.`ATTR_VALUE` AS `pid`,`conattr_progname`.`ATTR_VALUE` AS `program_name` from (((((((`performance_schema`.`threads` `pps` left join `performance_schema`.`events_waits_current` `ewc` on((`pps`.`THREAD_ID` = `ewc`.`THREAD_ID`))) left join `performance_schema`.`events_stages_current` `estc` on((`pps`.`THREAD_ID` = `estc`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `esc` on((`pps`.`THREAD_ID` = `esc`.`THREAD_ID`))) left join `performance_schema`.`events_transactions_current` `etc` on((`pps`.`THREAD_ID` = `etc`.`THREAD_ID`))) left join `sys`.`x$memory_by_thread_by_current_bytes` `mem` on((`pps`.`THREAD_ID` = `mem`.`thread_id`))) left join `performance_schema`.`session_connect_attrs` `conattr_pid` on(((`conattr_pid`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_pid`.`ATTR_NAME` = \'_pid\')))) left join `performance_schema`.`session_connect_attrs` `conattr_progname` on(((`conattr_progname`.`PROCESSLIST_ID` = `pps`.`PROCESSLIST_ID`) and (`conattr_progname`.`ATTR_NAME` = \'program_name\')))) order by `pps`.`PROCESSLIST_TIME` desc,`last_wait_latency` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024ps_digest_95th_percentile_by_avg_us.frm b/sandbox/servers/5.7/data/sys/x@0024ps_digest_95th_percentile_by_avg_us.frm new file mode 100644 index 00000000..45a2c2b4 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024ps_digest_95th_percentile_by_avg_us.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `s2`.`avg_us` AS `avg_us`,ifnull((sum(`s1`.`cnt`) / nullif((select count(0) from `performance_schema`.`events_statements_summary_by_digest`),0)),0) AS `percentile` from (`sys`.`x$ps_digest_avg_latency_distribution` `s1` join `sys`.`x$ps_digest_avg_latency_distribution` `s2` on((`s1`.`avg_us` <= `s2`.`avg_us`))) group by `s2`.`avg_us` having (ifnull((sum(`s1`.`cnt`) / nullif((select count(0) from `performance_schema`.`events_statements_summary_by_digest`),0)),0) > 0.95) order by `percentile` limit 1 +md5=38844a2231445ad0ee62a505f5144e44 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT s2.avg_us avg_us, IFNULL(SUM(s1.cnt)/NULLIF((SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest), 0), 0) percentile FROM sys.x$ps_digest_avg_latency_distribution AS s1 JOIN sys.x$ps_digest_avg_latency_distribution AS s2 ON s1.avg_us <= s2.avg_us GROUP BY s2.avg_us HAVING IFNULL(SUM(s1.cnt)/NULLIF((SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest), 0), 0) > 0.95 ORDER BY percentile LIMIT 1 +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `s2`.`avg_us` AS `avg_us`,ifnull((sum(`s1`.`cnt`) / nullif((select count(0) from `performance_schema`.`events_statements_summary_by_digest`),0)),0) AS `percentile` from (`sys`.`x$ps_digest_avg_latency_distribution` `s1` join `sys`.`x$ps_digest_avg_latency_distribution` `s2` on((`s1`.`avg_us` <= `s2`.`avg_us`))) group by `s2`.`avg_us` having (ifnull((sum(`s1`.`cnt`) / nullif((select count(0) from `performance_schema`.`events_statements_summary_by_digest`),0)),0) > 0.95) order by `percentile` limit 1 diff --git a/sandbox/servers/5.7/data/sys/x@0024ps_digest_avg_latency_distribution.frm b/sandbox/servers/5.7/data/sys/x@0024ps_digest_avg_latency_distribution.frm new file mode 100644 index 00000000..5ab3de74 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024ps_digest_avg_latency_distribution.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select count(0) AS `cnt`,round((`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT` / 1000000),0) AS `avg_us` from `performance_schema`.`events_statements_summary_by_digest` group by `avg_us` +md5=06f1f0e6df61fcfe10c0118e39bc5047 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT COUNT(*) cnt, ROUND(avg_timer_wait/1000000) AS avg_us FROM performance_schema.events_statements_summary_by_digest GROUP BY avg_us +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select count(0) AS `cnt`,round((`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT` / 1000000),0) AS `avg_us` from `performance_schema`.`events_statements_summary_by_digest` group by `avg_us` diff --git a/sandbox/servers/5.7/data/sys/x@0024ps_schema_table_statistics_io.frm b/sandbox/servers/5.7/data/sys/x@0024ps_schema_table_statistics_io.frm new file mode 100644 index 00000000..21306d99 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024ps_schema_table_statistics_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `extract_schema_from_file_name`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `table_schema`,`extract_table_from_file_name`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `table_name`,sum(`performance_schema`.`file_summary_by_instance`.`COUNT_READ`) AS `count_read`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ`) AS `sum_number_of_bytes_read`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_READ`) AS `sum_timer_read`,sum(`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE`) AS `count_write`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `sum_number_of_bytes_write`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WRITE`) AS `sum_timer_write`,sum(`performance_schema`.`file_summary_by_instance`.`COUNT_MISC`) AS `count_misc`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_MISC`) AS `sum_timer_misc` from `performance_schema`.`file_summary_by_instance` group by `table_schema`,`table_name` +md5=6e22f7c5621b846eef3dbcf31d8df821 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT extract_schema_from_file_name(file_name) AS table_schema, extract_table_from_file_name(file_name) AS table_name, SUM(count_read) AS count_read, SUM(sum_number_of_bytes_read) AS sum_number_of_bytes_read, SUM(sum_timer_read) AS sum_timer_read, SUM(count_write) AS count_write, SUM(sum_number_of_bytes_write) AS sum_number_of_bytes_write, SUM(sum_timer_write) AS sum_timer_write, SUM(count_misc) AS count_misc, SUM(sum_timer_misc) AS sum_timer_misc FROM performance_schema.file_summary_by_instance GROUP BY table_schema, table_name +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `extract_schema_from_file_name`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `table_schema`,`extract_table_from_file_name`(`performance_schema`.`file_summary_by_instance`.`FILE_NAME`) AS `table_name`,sum(`performance_schema`.`file_summary_by_instance`.`COUNT_READ`) AS `count_read`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_READ`) AS `sum_number_of_bytes_read`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_READ`) AS `sum_timer_read`,sum(`performance_schema`.`file_summary_by_instance`.`COUNT_WRITE`) AS `count_write`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_NUMBER_OF_BYTES_WRITE`) AS `sum_number_of_bytes_write`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_WRITE`) AS `sum_timer_write`,sum(`performance_schema`.`file_summary_by_instance`.`COUNT_MISC`) AS `count_misc`,sum(`performance_schema`.`file_summary_by_instance`.`SUM_TIMER_MISC`) AS `sum_timer_misc` from `performance_schema`.`file_summary_by_instance` group by `table_schema`,`table_name` diff --git a/sandbox/servers/5.7/data/sys/x@0024schema_flattened_keys.frm b/sandbox/servers/5.7/data/sys/x@0024schema_flattened_keys.frm new file mode 100644 index 00000000..94beb452 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024schema_flattened_keys.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `information_schema`.`STATISTICS`.`TABLE_SCHEMA` AS `table_schema`,`information_schema`.`STATISTICS`.`TABLE_NAME` AS `table_name`,`information_schema`.`STATISTICS`.`INDEX_NAME` AS `index_name`,max(`information_schema`.`STATISTICS`.`NON_UNIQUE`) AS `non_unique`,max(if(isnull(`information_schema`.`STATISTICS`.`SUB_PART`),0,1)) AS `subpart_exists`,group_concat(`information_schema`.`STATISTICS`.`COLUMN_NAME` order by `information_schema`.`STATISTICS`.`SEQ_IN_INDEX` ASC separator \',\') AS `index_columns` from `INFORMATION_SCHEMA`.`STATISTICS` where ((`information_schema`.`STATISTICS`.`INDEX_TYPE` = \'BTREE\') and (`information_schema`.`STATISTICS`.`TABLE_SCHEMA` not in (\'mysql\',\'sys\',\'INFORMATION_SCHEMA\',\'PERFORMANCE_SCHEMA\'))) group by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`,`information_schema`.`STATISTICS`.`TABLE_NAME`,`information_schema`.`STATISTICS`.`INDEX_NAME` +md5=f9b8ea559fd673333fbc207077025826 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:00 +create-version=1 +source=SELECT TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, MAX(NON_UNIQUE) AS non_unique, MAX(IF(SUB_PART IS NULL, 0, 1)) AS subpart_exists, GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS index_columns FROM INFORMATION_SCHEMA.STATISTICS WHERE INDEX_TYPE=\'BTREE\' AND TABLE_SCHEMA NOT IN (\'mysql\', \'sys\', \'INFORMATION_SCHEMA\', \'PERFORMANCE_SCHEMA\') GROUP BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `information_schema`.`STATISTICS`.`TABLE_SCHEMA` AS `table_schema`,`information_schema`.`STATISTICS`.`TABLE_NAME` AS `table_name`,`information_schema`.`STATISTICS`.`INDEX_NAME` AS `index_name`,max(`information_schema`.`STATISTICS`.`NON_UNIQUE`) AS `non_unique`,max(if(isnull(`information_schema`.`STATISTICS`.`SUB_PART`),0,1)) AS `subpart_exists`,group_concat(`information_schema`.`STATISTICS`.`COLUMN_NAME` order by `information_schema`.`STATISTICS`.`SEQ_IN_INDEX` ASC separator \',\') AS `index_columns` from `INFORMATION_SCHEMA`.`STATISTICS` where ((`information_schema`.`STATISTICS`.`INDEX_TYPE` = \'BTREE\') and (`information_schema`.`STATISTICS`.`TABLE_SCHEMA` not in (\'mysql\',\'sys\',\'INFORMATION_SCHEMA\',\'PERFORMANCE_SCHEMA\'))) group by `information_schema`.`STATISTICS`.`TABLE_SCHEMA`,`information_schema`.`STATISTICS`.`TABLE_NAME`,`information_schema`.`STATISTICS`.`INDEX_NAME` diff --git a/sandbox/servers/5.7/data/sys/x@0024schema_index_statistics.frm b/sandbox/servers/5.7/data/sys/x@0024schema_index_statistics.frm new file mode 100644 index 00000000..f753a1a6 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024schema_index_statistics.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `table_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `table_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` AS `index_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_FETCH` AS `rows_selected`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_FETCH` AS `select_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_INSERT` AS `rows_inserted`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT` AS `insert_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_UPDATE` AS `rows_updated`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_UPDATE` AS `update_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_DELETE` AS `rows_deleted`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT` AS `delete_latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` is not null) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT` desc +md5=b76658003bf046d37576e5dcf82a9f35 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT OBJECT_SCHEMA AS table_schema, OBJECT_NAME AS table_name, INDEX_NAME as index_name, COUNT_FETCH AS rows_selected, SUM_TIMER_FETCH AS select_latency, COUNT_INSERT AS rows_inserted, SUM_TIMER_INSERT AS insert_latency, COUNT_UPDATE AS rows_updated, SUM_TIMER_UPDATE AS update_latency, COUNT_DELETE AS rows_deleted, SUM_TIMER_INSERT AS delete_latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NOT NULL ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `table_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `table_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` AS `index_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_FETCH` AS `rows_selected`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_FETCH` AS `select_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_INSERT` AS `rows_inserted`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT` AS `insert_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_UPDATE` AS `rows_updated`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_UPDATE` AS `update_latency`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_DELETE` AS `rows_deleted`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_INSERT` AS `delete_latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME` is not null) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024schema_table_lock_waits.frm b/sandbox/servers/5.7/data/sys/x@0024schema_table_lock_waits.frm new file mode 100644 index 00000000..54139017 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024schema_table_lock_waits.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `g`.`OBJECT_SCHEMA` AS `object_schema`,`g`.`OBJECT_NAME` AS `object_name`,`pt`.`THREAD_ID` AS `waiting_thread_id`,`pt`.`PROCESSLIST_ID` AS `waiting_pid`,`sys`.`ps_thread_account`(`p`.`OWNER_THREAD_ID`) AS `waiting_account`,`p`.`LOCK_TYPE` AS `waiting_lock_type`,`p`.`LOCK_DURATION` AS `waiting_lock_duration`,`pt`.`PROCESSLIST_INFO` AS `waiting_query`,`pt`.`PROCESSLIST_TIME` AS `waiting_query_secs`,`ps`.`ROWS_AFFECTED` AS `waiting_query_rows_affected`,`ps`.`ROWS_EXAMINED` AS `waiting_query_rows_examined`,`gt`.`THREAD_ID` AS `blocking_thread_id`,`gt`.`PROCESSLIST_ID` AS `blocking_pid`,`sys`.`ps_thread_account`(`g`.`OWNER_THREAD_ID`) AS `blocking_account`,`g`.`LOCK_TYPE` AS `blocking_lock_type`,`g`.`LOCK_DURATION` AS `blocking_lock_duration`,concat(\'KILL QUERY \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_query`,concat(\'KILL \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_connection` from (((((`performance_schema`.`metadata_locks` `g` join `performance_schema`.`metadata_locks` `p` on(((`g`.`OBJECT_TYPE` = `p`.`OBJECT_TYPE`) and (`g`.`OBJECT_SCHEMA` = `p`.`OBJECT_SCHEMA`) and (`g`.`OBJECT_NAME` = `p`.`OBJECT_NAME`) and (`g`.`LOCK_STATUS` = \'GRANTED\') and (`p`.`LOCK_STATUS` = \'PENDING\')))) join `performance_schema`.`threads` `gt` on((`g`.`OWNER_THREAD_ID` = `gt`.`THREAD_ID`))) join `performance_schema`.`threads` `pt` on((`p`.`OWNER_THREAD_ID` = `pt`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `gs` on((`g`.`OWNER_THREAD_ID` = `gs`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `ps` on((`p`.`OWNER_THREAD_ID` = `ps`.`THREAD_ID`))) where (`g`.`OBJECT_TYPE` = \'TABLE\') +md5=348c747789b98e9d9a015ac8b79c7cad +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT g.object_schema AS object_schema, g.object_name AS object_name, pt.thread_id AS waiting_thread_id, pt.processlist_id AS waiting_pid, sys.ps_thread_account(p.owner_thread_id) AS waiting_account, p.lock_type AS waiting_lock_type, p.lock_duration AS waiting_lock_duration, pt.processlist_info AS waiting_query, pt.processlist_time AS waiting_query_secs, ps.rows_affected AS waiting_query_rows_affected, ps.rows_examined AS waiting_query_rows_examined, gt.thread_id AS blocking_thread_id, gt.processlist_id AS blocking_pid, sys.ps_thread_account(g.owner_thread_id) AS blocking_account, g.lock_type AS blocking_lock_type, g.lock_duration AS blocking_lock_duration, CONCAT(\'KILL QUERY \', gt.processlist_id) AS sql_kill_blocking_query, CONCAT(\'KILL \', gt.processlist_id) AS sql_kill_blocking_connection FROM performance_schema.metadata_locks g INNER JOIN performance_schema.metadata_locks p ON g.object_type = p.object_type AND g.object_schema = p.object_schema AND g.object_name = p.object_name AND g.lock_status = \'GRANTED\' AND p.lock_status = \'PENDING\' INNER JOIN performance_schema.threads gt ON g.owner_thread_id = gt.thread_id INNER JOIN performance_schema.threads pt ON p.owner_thread_id = pt.thread_id LEFT JOIN performance_schema.events_statements_current gs ON g.owner_thread_id = gs.thread_id LEFT JOIN performance_schema.events_statements_current ps ON p.owner_thread_id = ps.thread_id WHERE g.object_type = \'TABLE\' +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `g`.`OBJECT_SCHEMA` AS `object_schema`,`g`.`OBJECT_NAME` AS `object_name`,`pt`.`THREAD_ID` AS `waiting_thread_id`,`pt`.`PROCESSLIST_ID` AS `waiting_pid`,`sys`.`ps_thread_account`(`p`.`OWNER_THREAD_ID`) AS `waiting_account`,`p`.`LOCK_TYPE` AS `waiting_lock_type`,`p`.`LOCK_DURATION` AS `waiting_lock_duration`,`pt`.`PROCESSLIST_INFO` AS `waiting_query`,`pt`.`PROCESSLIST_TIME` AS `waiting_query_secs`,`ps`.`ROWS_AFFECTED` AS `waiting_query_rows_affected`,`ps`.`ROWS_EXAMINED` AS `waiting_query_rows_examined`,`gt`.`THREAD_ID` AS `blocking_thread_id`,`gt`.`PROCESSLIST_ID` AS `blocking_pid`,`sys`.`ps_thread_account`(`g`.`OWNER_THREAD_ID`) AS `blocking_account`,`g`.`LOCK_TYPE` AS `blocking_lock_type`,`g`.`LOCK_DURATION` AS `blocking_lock_duration`,concat(\'KILL QUERY \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_query`,concat(\'KILL \',`gt`.`PROCESSLIST_ID`) AS `sql_kill_blocking_connection` from (((((`performance_schema`.`metadata_locks` `g` join `performance_schema`.`metadata_locks` `p` on(((`g`.`OBJECT_TYPE` = `p`.`OBJECT_TYPE`) and (`g`.`OBJECT_SCHEMA` = `p`.`OBJECT_SCHEMA`) and (`g`.`OBJECT_NAME` = `p`.`OBJECT_NAME`) and (`g`.`LOCK_STATUS` = \'GRANTED\') and (`p`.`LOCK_STATUS` = \'PENDING\')))) join `performance_schema`.`threads` `gt` on((`g`.`OWNER_THREAD_ID` = `gt`.`THREAD_ID`))) join `performance_schema`.`threads` `pt` on((`p`.`OWNER_THREAD_ID` = `pt`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `gs` on((`g`.`OWNER_THREAD_ID` = `gs`.`THREAD_ID`))) left join `performance_schema`.`events_statements_current` `ps` on((`p`.`OWNER_THREAD_ID` = `ps`.`THREAD_ID`))) where (`g`.`OBJECT_TYPE` = \'TABLE\') diff --git a/sandbox/servers/5.7/data/sys/x@0024schema_table_statistics.frm b/sandbox/servers/5.7/data/sys/x@0024schema_table_statistics.frm new file mode 100644 index 00000000..a3111515 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024schema_table_statistics.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`pst`.`SUM_TIMER_WAIT` AS `total_latency`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`pst`.`SUM_TIMER_FETCH` AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`pst`.`SUM_TIMER_INSERT` AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`pst`.`SUM_TIMER_UPDATE` AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`pst`.`SUM_TIMER_DELETE` AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`fsbi`.`sum_number_of_bytes_read` AS `io_read`,`fsbi`.`sum_timer_read` AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`fsbi`.`sum_number_of_bytes_write` AS `io_write`,`fsbi`.`sum_timer_write` AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`fsbi`.`sum_timer_misc` AS `io_misc_latency` from (`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc +md5=5cf9532b389d26cb5e6d250b3bd93d5d +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, pst.sum_timer_wait AS total_latency, pst.count_fetch AS rows_fetched, pst.sum_timer_fetch AS fetch_latency, pst.count_insert AS rows_inserted, pst.sum_timer_insert AS insert_latency, pst.count_update AS rows_updated, pst.sum_timer_update AS update_latency, pst.count_delete AS rows_deleted, pst.sum_timer_delete AS delete_latency, fsbi.count_read AS io_read_requests, fsbi.sum_number_of_bytes_read AS io_read, fsbi.sum_timer_read AS io_read_latency, fsbi.count_write AS io_write_requests, fsbi.sum_number_of_bytes_write AS io_write, fsbi.sum_timer_write AS io_write_latency, fsbi.count_misc AS io_misc_requests, fsbi.sum_timer_misc AS io_misc_latency FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name ORDER BY pst.sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`pst`.`SUM_TIMER_WAIT` AS `total_latency`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`pst`.`SUM_TIMER_FETCH` AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`pst`.`SUM_TIMER_INSERT` AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`pst`.`SUM_TIMER_UPDATE` AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`pst`.`SUM_TIMER_DELETE` AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`fsbi`.`sum_number_of_bytes_read` AS `io_read`,`fsbi`.`sum_timer_read` AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`fsbi`.`sum_number_of_bytes_write` AS `io_write`,`fsbi`.`sum_timer_write` AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`fsbi`.`sum_timer_misc` AS `io_misc_latency` from (`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024schema_table_statistics_with_buffer.frm b/sandbox/servers/5.7/data/sys/x@0024schema_table_statistics_with_buffer.frm new file mode 100644 index 00000000..fb069dfc --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024schema_table_statistics_with_buffer.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`pst`.`SUM_TIMER_FETCH` AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`pst`.`SUM_TIMER_INSERT` AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`pst`.`SUM_TIMER_UPDATE` AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`pst`.`SUM_TIMER_DELETE` AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`fsbi`.`sum_number_of_bytes_read` AS `io_read`,`fsbi`.`sum_timer_read` AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`fsbi`.`sum_number_of_bytes_write` AS `io_write`,`fsbi`.`sum_timer_write` AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`fsbi`.`sum_timer_misc` AS `io_misc_latency`,`ibp`.`allocated` AS `innodb_buffer_allocated`,`ibp`.`data` AS `innodb_buffer_data`,(`ibp`.`allocated` - `ibp`.`data`) AS `innodb_buffer_free`,`ibp`.`pages` AS `innodb_buffer_pages`,`ibp`.`pages_hashed` AS `innodb_buffer_pages_hashed`,`ibp`.`pages_old` AS `innodb_buffer_pages_old`,`ibp`.`rows_cached` AS `innodb_buffer_rows_cached` from ((`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) left join `sys`.`x$innodb_buffer_stats_by_table` `ibp` on(((`pst`.`OBJECT_SCHEMA` = `ibp`.`object_schema`) and (`pst`.`OBJECT_NAME` = `ibp`.`object_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc +md5=ca1ee606114083de29932f2ff49c5262 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT pst.object_schema AS table_schema, pst.object_name AS table_name, pst.count_fetch AS rows_fetched, pst.sum_timer_fetch AS fetch_latency, pst.count_insert AS rows_inserted, pst.sum_timer_insert AS insert_latency, pst.count_update AS rows_updated, pst.sum_timer_update AS update_latency, pst.count_delete AS rows_deleted, pst.sum_timer_delete AS delete_latency, fsbi.count_read AS io_read_requests, fsbi.sum_number_of_bytes_read AS io_read, fsbi.sum_timer_read AS io_read_latency, fsbi.count_write AS io_write_requests, fsbi.sum_number_of_bytes_write AS io_write, fsbi.sum_timer_write AS io_write_latency, fsbi.count_misc AS io_misc_requests, fsbi.sum_timer_misc AS io_misc_latency, ibp.allocated AS innodb_buffer_allocated, ibp.data AS innodb_buffer_data, (ibp.allocated - ibp.data) AS innodb_buffer_free, ibp.pages AS innodb_buffer_pages, ibp.pages_hashed AS innodb_buffer_pages_hashed, ibp.pages_old AS innodb_buffer_pages_old, ibp.rows_cached AS innodb_buffer_rows_cached FROM performance_schema.table_io_waits_summary_by_table AS pst LEFT JOIN x$ps_schema_table_statistics_io AS fsbi ON pst.object_schema = fsbi.table_schema AND pst.object_name = fsbi.table_name LEFT JOIN sys.x$innodb_buffer_stats_by_table AS ibp ON pst.object_schema = ibp.object_schema AND pst.object_name = ibp.object_name ORDER BY pst.sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `pst`.`OBJECT_SCHEMA` AS `table_schema`,`pst`.`OBJECT_NAME` AS `table_name`,`pst`.`COUNT_FETCH` AS `rows_fetched`,`pst`.`SUM_TIMER_FETCH` AS `fetch_latency`,`pst`.`COUNT_INSERT` AS `rows_inserted`,`pst`.`SUM_TIMER_INSERT` AS `insert_latency`,`pst`.`COUNT_UPDATE` AS `rows_updated`,`pst`.`SUM_TIMER_UPDATE` AS `update_latency`,`pst`.`COUNT_DELETE` AS `rows_deleted`,`pst`.`SUM_TIMER_DELETE` AS `delete_latency`,`fsbi`.`count_read` AS `io_read_requests`,`fsbi`.`sum_number_of_bytes_read` AS `io_read`,`fsbi`.`sum_timer_read` AS `io_read_latency`,`fsbi`.`count_write` AS `io_write_requests`,`fsbi`.`sum_number_of_bytes_write` AS `io_write`,`fsbi`.`sum_timer_write` AS `io_write_latency`,`fsbi`.`count_misc` AS `io_misc_requests`,`fsbi`.`sum_timer_misc` AS `io_misc_latency`,`ibp`.`allocated` AS `innodb_buffer_allocated`,`ibp`.`data` AS `innodb_buffer_data`,(`ibp`.`allocated` - `ibp`.`data`) AS `innodb_buffer_free`,`ibp`.`pages` AS `innodb_buffer_pages`,`ibp`.`pages_hashed` AS `innodb_buffer_pages_hashed`,`ibp`.`pages_old` AS `innodb_buffer_pages_old`,`ibp`.`rows_cached` AS `innodb_buffer_rows_cached` from ((`performance_schema`.`table_io_waits_summary_by_table` `pst` left join `sys`.`x$ps_schema_table_statistics_io` `fsbi` on(((`pst`.`OBJECT_SCHEMA` = `fsbi`.`table_schema`) and (`pst`.`OBJECT_NAME` = `fsbi`.`table_name`)))) left join `sys`.`x$innodb_buffer_stats_by_table` `ibp` on(((`pst`.`OBJECT_SCHEMA` = `ibp`.`object_schema`) and (`pst`.`OBJECT_NAME` = `ibp`.`object_name`)))) order by `pst`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024schema_tables_with_full_table_scans.frm b/sandbox/servers/5.7/data/sys/x@0024schema_tables_with_full_table_scans.frm new file mode 100644 index 00000000..a7e930cc --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024schema_tables_with_full_table_scans.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `object_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `object_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` AS `rows_full_scanned`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT` AS `latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (isnull(`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME`) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` > 0)) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` desc +md5=06d88d29fba9670e4f7ff599d080092a +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT object_schema, object_name, count_read AS rows_full_scanned, sum_timer_wait AS latency FROM performance_schema.table_io_waits_summary_by_index_usage WHERE index_name IS NULL AND count_read > 0 ORDER BY count_read DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_SCHEMA` AS `object_schema`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`OBJECT_NAME` AS `object_name`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` AS `rows_full_scanned`,`performance_schema`.`table_io_waits_summary_by_index_usage`.`SUM_TIMER_WAIT` AS `latency` from `performance_schema`.`table_io_waits_summary_by_index_usage` where (isnull(`performance_schema`.`table_io_waits_summary_by_index_usage`.`INDEX_NAME`) and (`performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` > 0)) order by `performance_schema`.`table_io_waits_summary_by_index_usage`.`COUNT_READ` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024session.frm b/sandbox/servers/5.7/data/sys/x@0024session.frm new file mode 100644 index 00000000..3472a684 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024session.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `x$processlist`.`thd_id` AS `thd_id`,`x$processlist`.`conn_id` AS `conn_id`,`x$processlist`.`user` AS `user`,`x$processlist`.`db` AS `db`,`x$processlist`.`command` AS `command`,`x$processlist`.`state` AS `state`,`x$processlist`.`time` AS `time`,`x$processlist`.`current_statement` AS `current_statement`,`x$processlist`.`statement_latency` AS `statement_latency`,`x$processlist`.`progress` AS `progress`,`x$processlist`.`lock_latency` AS `lock_latency`,`x$processlist`.`rows_examined` AS `rows_examined`,`x$processlist`.`rows_sent` AS `rows_sent`,`x$processlist`.`rows_affected` AS `rows_affected`,`x$processlist`.`tmp_tables` AS `tmp_tables`,`x$processlist`.`tmp_disk_tables` AS `tmp_disk_tables`,`x$processlist`.`full_scan` AS `full_scan`,`x$processlist`.`last_statement` AS `last_statement`,`x$processlist`.`last_statement_latency` AS `last_statement_latency`,`x$processlist`.`current_memory` AS `current_memory`,`x$processlist`.`last_wait` AS `last_wait`,`x$processlist`.`last_wait_latency` AS `last_wait_latency`,`x$processlist`.`source` AS `source`,`x$processlist`.`trx_latency` AS `trx_latency`,`x$processlist`.`trx_state` AS `trx_state`,`x$processlist`.`trx_autocommit` AS `trx_autocommit`,`x$processlist`.`pid` AS `pid`,`x$processlist`.`program_name` AS `program_name` from `sys`.`x$processlist` where ((`x$processlist`.`conn_id` is not null) and (`x$processlist`.`command` <> \'Daemon\')) +md5=5ae47f9c1f04f36c23a5a1466b9905c9 +updatable=0 +algorithm=0 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:04 +create-version=1 +source=SELECT * FROM sys.x$processlist WHERE conn_id IS NOT NULL AND command != \'Daemon\' +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `x$processlist`.`thd_id` AS `thd_id`,`x$processlist`.`conn_id` AS `conn_id`,`x$processlist`.`user` AS `user`,`x$processlist`.`db` AS `db`,`x$processlist`.`command` AS `command`,`x$processlist`.`state` AS `state`,`x$processlist`.`time` AS `time`,`x$processlist`.`current_statement` AS `current_statement`,`x$processlist`.`statement_latency` AS `statement_latency`,`x$processlist`.`progress` AS `progress`,`x$processlist`.`lock_latency` AS `lock_latency`,`x$processlist`.`rows_examined` AS `rows_examined`,`x$processlist`.`rows_sent` AS `rows_sent`,`x$processlist`.`rows_affected` AS `rows_affected`,`x$processlist`.`tmp_tables` AS `tmp_tables`,`x$processlist`.`tmp_disk_tables` AS `tmp_disk_tables`,`x$processlist`.`full_scan` AS `full_scan`,`x$processlist`.`last_statement` AS `last_statement`,`x$processlist`.`last_statement_latency` AS `last_statement_latency`,`x$processlist`.`current_memory` AS `current_memory`,`x$processlist`.`last_wait` AS `last_wait`,`x$processlist`.`last_wait_latency` AS `last_wait_latency`,`x$processlist`.`source` AS `source`,`x$processlist`.`trx_latency` AS `trx_latency`,`x$processlist`.`trx_state` AS `trx_state`,`x$processlist`.`trx_autocommit` AS `trx_autocommit`,`x$processlist`.`pid` AS `pid`,`x$processlist`.`program_name` AS `program_name` from `sys`.`x$processlist` where ((`x$processlist`.`conn_id` is not null) and (`x$processlist`.`command` <> \'Daemon\')) diff --git a/sandbox/servers/5.7/data/sys/x@0024statement_analysis.frm b/sandbox/servers/5.7/data/sys/x@0024statement_analysis.frm new file mode 100644 index 00000000..0db510eb --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024statement_analysis.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,if(((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `err_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warn_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_LOCK_TIME` AS `lock_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` AS `rows_affected`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_affected_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen` from `performance_schema`.`events_statements_summary_by_digest` order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc +md5=264be88ab55ca2e3c5e31871885a31fb +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT DIGEST_TEXT AS query, SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, \'*\', \'\') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, SUM_TIMER_WAIT AS total_latency, MAX_TIMER_WAIT AS max_latency, AVG_TIMER_WAIT AS avg_latency, SUM_LOCK_TIME AS lock_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, SUM_ROWS_AFFECTED AS rows_affected, ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg, SUM_CREATED_TMP_TABLES AS tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS tmp_disk_tables, SUM_SORT_ROWS AS rows_sorted, SUM_SORT_MERGE_PASSES AS sort_merge_passes, DIGEST AS digest, FIRST_SEEN AS first_seen, LAST_SEEN as last_seen FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,if(((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `err_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warn_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`events_statements_summary_by_digest`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_LOCK_TIME` AS `lock_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` AS `rows_affected`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_AFFECTED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `rows_affected_avg`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `tmp_disk_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen` from `performance_schema`.`events_statements_summary_by_digest` order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024statements_with_errors_or_warnings.frm b/sandbox/servers/5.7/data/sys/x@0024statements_with_errors_or_warnings.frm new file mode 100644 index 00000000..8a9fff0e --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024statements_with_errors_or_warnings.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `errors`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `error_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warnings`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `warning_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where ((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` > 0)) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` desc +md5=0cc4a3464fb9fc3c6d1c4e45d15bc1a1 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT DIGEST_TEXT AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_ERRORS AS errors, IFNULL(SUM_ERRORS / NULLIF(COUNT_STAR, 0), 0) * 100 as error_pct, SUM_WARNINGS AS warnings, IFNULL(SUM_WARNINGS / NULLIF(COUNT_STAR, 0), 0) * 100 as warning_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_ERRORS > 0 OR SUM_WARNINGS > 0 ORDER BY SUM_ERRORS DESC, SUM_WARNINGS DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` AS `errors`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `error_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` AS `warnings`,(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100) AS `warning_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where ((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` > 0)) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_ERRORS` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_WARNINGS` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024statements_with_full_table_scans.frm b/sandbox/servers/5.7/data/sys/x@0024statements_with_full_table_scans.frm new file mode 100644 index 00000000..abdc38e3 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024statements_with_full_table_scans.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` AS `no_index_used_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` AS `no_good_index_used_count`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) AS `no_index_used_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_sent_avg`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0)) and (not((`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` like \'SHOW%\')))) order by round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc +md5=518bac7a7d80c2fd01201ea3528bf576 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:01 +create-version=1 +source=SELECT DIGEST_TEXT AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_TIMER_WAIT AS total_latency, SUM_NO_INDEX_USED AS no_index_used_count, SUM_NO_GOOD_INDEX_USED AS no_good_index_used_count, ROUND(IFNULL(SUM_NO_INDEX_USED / NULLIF(COUNT_STAR, 0), 0) * 100) AS no_index_used_pct, SUM_ROWS_SENT AS rows_sent, SUM_ROWS_EXAMINED AS rows_examined, ROUND(SUM_ROWS_SENT/COUNT_STAR) AS rows_sent_avg, ROUND(SUM_ROWS_EXAMINED/COUNT_STAR) AS rows_examined_avg, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE (SUM_NO_INDEX_USED > 0 OR SUM_NO_GOOD_INDEX_USED > 0) AND DIGEST_TEXT NOT LIKE \'SHOW%\' ORDER BY no_index_used_pct DESC, total_latency DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` AS `no_index_used_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` AS `no_good_index_used_count`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) AS `no_index_used_pct`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_SENT` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_sent_avg`,round((`performance_schema`.`events_statements_summary_by_digest`.`SUM_ROWS_EXAMINED` / `performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`),0) AS `rows_examined_avg`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` > 0) or (`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_GOOD_INDEX_USED` > 0)) and (not((`performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` like \'SHOW%\')))) order by round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_NO_INDEX_USED` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0) * 100),0) desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024statements_with_runtimes_in_95th_percentile.frm b/sandbox/servers/5.7/data/sys/x@0024statements_with_runtimes_in_95th_percentile.frm new file mode 100644 index 00000000..765218be --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024statements_with_runtimes_in_95th_percentile.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `stmts`.`DIGEST_TEXT` AS `query`,`stmts`.`SCHEMA_NAME` AS `db`,if(((`stmts`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`stmts`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`stmts`.`COUNT_STAR` AS `exec_count`,`stmts`.`SUM_ERRORS` AS `err_count`,`stmts`.`SUM_WARNINGS` AS `warn_count`,`stmts`.`SUM_TIMER_WAIT` AS `total_latency`,`stmts`.`MAX_TIMER_WAIT` AS `max_latency`,`stmts`.`AVG_TIMER_WAIT` AS `avg_latency`,`stmts`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`stmts`.`SUM_ROWS_SENT` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`stmts`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`stmts`.`SUM_ROWS_EXAMINED` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`stmts`.`FIRST_SEEN` AS `first_seen`,`stmts`.`LAST_SEEN` AS `last_seen`,`stmts`.`DIGEST` AS `digest` from (`performance_schema`.`events_statements_summary_by_digest` `stmts` join `sys`.`x$ps_digest_95th_percentile_by_avg_us` `top_percentile` on((round((`stmts`.`AVG_TIMER_WAIT` / 1000000),0) >= `top_percentile`.`avg_us`))) order by `stmts`.`AVG_TIMER_WAIT` desc +md5=a9e221a20e9ac48966fa0ff12be75ce2 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT DIGEST_TEXT AS query, SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, \'*\', \'\') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, SUM_TIMER_WAIT AS total_latency, MAX_TIMER_WAIT AS max_latency, AVG_TIMER_WAIT AS avg_latency, SUM_ROWS_SENT AS rows_sent, ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg, SUM_ROWS_EXAMINED AS rows_examined, ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest stmts JOIN sys.x$ps_digest_95th_percentile_by_avg_us AS top_percentile ON ROUND(stmts.avg_timer_wait/1000000) >= top_percentile.avg_us ORDER BY AVG_TIMER_WAIT DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `stmts`.`DIGEST_TEXT` AS `query`,`stmts`.`SCHEMA_NAME` AS `db`,if(((`stmts`.`SUM_NO_GOOD_INDEX_USED` > 0) or (`stmts`.`SUM_NO_INDEX_USED` > 0)),\'*\',\'\') AS `full_scan`,`stmts`.`COUNT_STAR` AS `exec_count`,`stmts`.`SUM_ERRORS` AS `err_count`,`stmts`.`SUM_WARNINGS` AS `warn_count`,`stmts`.`SUM_TIMER_WAIT` AS `total_latency`,`stmts`.`MAX_TIMER_WAIT` AS `max_latency`,`stmts`.`AVG_TIMER_WAIT` AS `avg_latency`,`stmts`.`SUM_ROWS_SENT` AS `rows_sent`,round(ifnull((`stmts`.`SUM_ROWS_SENT` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_sent_avg`,`stmts`.`SUM_ROWS_EXAMINED` AS `rows_examined`,round(ifnull((`stmts`.`SUM_ROWS_EXAMINED` / nullif(`stmts`.`COUNT_STAR`,0)),0),0) AS `rows_examined_avg`,`stmts`.`FIRST_SEEN` AS `first_seen`,`stmts`.`LAST_SEEN` AS `last_seen`,`stmts`.`DIGEST` AS `digest` from (`performance_schema`.`events_statements_summary_by_digest` `stmts` join `sys`.`x$ps_digest_95th_percentile_by_avg_us` `top_percentile` on((round((`stmts`.`AVG_TIMER_WAIT` / 1000000),0) >= `top_percentile`.`avg_us`))) order by `stmts`.`AVG_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024statements_with_sorting.frm b/sandbox/servers/5.7/data/sys/x@0024statements_with_sorting.frm new file mode 100644 index 00000000..b2dbf9d5 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024statements_with_sorting.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_sort_merges`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_SCAN` AS `sorts_using_scans`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_RANGE` AS `sort_using_range`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc +md5=eaf5ee72fb083d6ca2c1782a22d9687c +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT DIGEST_TEXT AS query, SCHEMA_NAME db, COUNT_STAR AS exec_count, SUM_TIMER_WAIT AS total_latency, SUM_SORT_MERGE_PASSES AS sort_merge_passes, ROUND(IFNULL(SUM_SORT_MERGE_PASSES / NULLIF(COUNT_STAR, 0), 0)) AS avg_sort_merges, SUM_SORT_SCAN AS sorts_using_scans, SUM_SORT_RANGE AS sort_using_range, SUM_SORT_ROWS AS rows_sorted, ROUND(IFNULL(SUM_SORT_ROWS / NULLIF(COUNT_STAR, 0), 0)) AS avg_rows_sorted, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_SORT_ROWS > 0 ORDER BY SUM_TIMER_WAIT DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` AS `sort_merge_passes`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_MERGE_PASSES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_sort_merges`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_SCAN` AS `sorts_using_scans`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_RANGE` AS `sort_using_range`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` AS `rows_sorted`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_rows_sorted`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_SORT_ROWS` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024statements_with_temp_tables.frm b/sandbox/servers/5.7/data/sys/x@0024statements_with_temp_tables.frm new file mode 100644 index 00000000..f18f9739 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024statements_with_temp_tables.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `memory_tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `disk_tmp_tables`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_tmp_tables_per_query`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES`,0)),0) * 100),0) AS `tmp_tables_to_disk_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` desc +md5=93f9a344316c93e6a36e73fa1d9e0fa3 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT DIGEST_TEXT AS query, SCHEMA_NAME as db, COUNT_STAR AS exec_count, SUM_TIMER_WAIT as total_latency, SUM_CREATED_TMP_TABLES AS memory_tmp_tables, SUM_CREATED_TMP_DISK_TABLES AS disk_tmp_tables, ROUND(IFNULL(SUM_CREATED_TMP_TABLES / NULLIF(COUNT_STAR, 0), 0)) AS avg_tmp_tables_per_query, ROUND(IFNULL(SUM_CREATED_TMP_DISK_TABLES / NULLIF(SUM_CREATED_TMP_TABLES, 0), 0) * 100) AS tmp_tables_to_disk_pct, FIRST_SEEN as first_seen, LAST_SEEN as last_seen, DIGEST AS digest FROM performance_schema.events_statements_summary_by_digest WHERE SUM_CREATED_TMP_TABLES > 0 ORDER BY SUM_CREATED_TMP_DISK_TABLES DESC, SUM_CREATED_TMP_TABLES DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_statements_summary_by_digest`.`DIGEST_TEXT` AS `query`,`performance_schema`.`events_statements_summary_by_digest`.`SCHEMA_NAME` AS `db`,`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR` AS `exec_count`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` AS `memory_tmp_tables`,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` AS `disk_tmp_tables`,round(ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`COUNT_STAR`,0)),0),0) AS `avg_tmp_tables_per_query`,round((ifnull((`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` / nullif(`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES`,0)),0) * 100),0) AS `tmp_tables_to_disk_pct`,`performance_schema`.`events_statements_summary_by_digest`.`FIRST_SEEN` AS `first_seen`,`performance_schema`.`events_statements_summary_by_digest`.`LAST_SEEN` AS `last_seen`,`performance_schema`.`events_statements_summary_by_digest`.`DIGEST` AS `digest` from `performance_schema`.`events_statements_summary_by_digest` where (`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` > 0) order by `performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_DISK_TABLES` desc,`performance_schema`.`events_statements_summary_by_digest`.`SUM_CREATED_TMP_TABLES` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024user_summary.frm b/sandbox/servers/5.7/data/sys/x@0024user_summary.frm new file mode 100644 index 00000000..6c580e4b --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024user_summary.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) AS `user`,sum(`stmt`.`total`) AS `statements`,sum(`stmt`.`total_latency`) AS `statement_latency`,ifnull((sum(`stmt`.`total_latency`) / nullif(sum(`stmt`.`total`),0)),0) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,sum(`io`.`io_latency`) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`HOST`) AS `unique_hosts`,sum(`mem`.`current_allocated`) AS `current_memory`,sum(`mem`.`total_allocated`) AS `total_memory_allocated` from (((`performance_schema`.`accounts` left join `sys`.`x$user_summary_by_statement_latency` `stmt` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `stmt`.`user`))) left join `sys`.`x$user_summary_by_file_io` `io` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `io`.`user`))) left join `sys`.`x$memory_by_user_by_current_bytes` `mem` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `mem`.`user`))) group by if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) order by sum(`stmt`.`total_latency`) desc +md5=78929aa9883dc08fbe7287a10c6022e2 +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(accounts.user IS NULL, \'background\', accounts.user) AS user, SUM(stmt.total) AS statements, SUM(stmt.total_latency) AS statement_latency, IFNULL(SUM(stmt.total_latency) / NULLIF(SUM(stmt.total), 0), 0) AS statement_avg_latency, SUM(stmt.full_scans) AS table_scans, SUM(io.ios) AS file_ios, SUM(io.io_latency) AS file_io_latency, SUM(accounts.current_connections) AS current_connections, SUM(accounts.total_connections) AS total_connections, COUNT(DISTINCT host) AS unique_hosts, SUM(mem.current_allocated) AS current_memory, SUM(mem.total_allocated) AS total_memory_allocated FROM performance_schema.accounts LEFT JOIN sys.x$user_summary_by_statement_latency AS stmt ON IF(accounts.user IS NULL, \'background\', accounts.user) = stmt.user LEFT JOIN sys.x$user_summary_by_file_io AS io ON IF(accounts.user IS NULL, \'background\', accounts.user) = io.user LEFT JOIN sys.x$memory_by_user_by_current_bytes mem ON IF(accounts.user IS NULL, \'background\', accounts.user) = mem.user GROUP BY IF(accounts.user IS NULL, \'background\', accounts.user) ORDER BY SUM(stmt.total_latency) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) AS `user`,sum(`stmt`.`total`) AS `statements`,sum(`stmt`.`total_latency`) AS `statement_latency`,ifnull((sum(`stmt`.`total_latency`) / nullif(sum(`stmt`.`total`),0)),0) AS `statement_avg_latency`,sum(`stmt`.`full_scans`) AS `table_scans`,sum(`io`.`ios`) AS `file_ios`,sum(`io`.`io_latency`) AS `file_io_latency`,sum(`performance_schema`.`accounts`.`CURRENT_CONNECTIONS`) AS `current_connections`,sum(`performance_schema`.`accounts`.`TOTAL_CONNECTIONS`) AS `total_connections`,count(distinct `performance_schema`.`accounts`.`HOST`) AS `unique_hosts`,sum(`mem`.`current_allocated`) AS `current_memory`,sum(`mem`.`total_allocated`) AS `total_memory_allocated` from (((`performance_schema`.`accounts` left join `sys`.`x$user_summary_by_statement_latency` `stmt` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `stmt`.`user`))) left join `sys`.`x$user_summary_by_file_io` `io` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `io`.`user`))) left join `sys`.`x$memory_by_user_by_current_bytes` `mem` on((if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) = `mem`.`user`))) group by if(isnull(`performance_schema`.`accounts`.`USER`),\'background\',`performance_schema`.`accounts`.`USER`) order by sum(`stmt`.`total_latency`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io.frm b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io.frm new file mode 100644 index 00000000..12575c2a --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR`) AS `ios`,sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `io_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=9ad3ed8fe2e129e434b9d87da66a32dd +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUM(count_star) AS ios, SUM(sum_timer_wait) AS io_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE \'wait/io/file/%\' GROUP BY IF(user IS NULL, \'background\', user) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR`) AS `ios`,sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `io_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file/%\') group by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io_type.frm b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io_type.frm new file mode 100644 index 00000000..2cb8f664 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_file_io_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `latency`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=6abe47a2dc4848b09b0231bd0f113fef +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, event_name, count_star AS total, sum_timer_wait AS latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name LIKE \'wait/io/file%\' AND count_star > 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `latency`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` like \'wait/io/file%\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024user_summary_by_stages.frm b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_stages.frm new file mode 100644 index 00000000..a7bbd90a --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_stages.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency` from `performance_schema`.`events_stages_summary_by_user_by_event_name` where (`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=c8db9fe9e694b2ba04ff8fad88f2eb30 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, event_name, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency FROM performance_schema.events_stages_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`EVENT_NAME` AS `event_name`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_stages_summary_by_user_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency` from `performance_schema`.`events_stages_summary_by_user_by_event_name` where (`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_stages_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_stages_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_latency.frm b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_latency.frm new file mode 100644 index 00000000..3156a919 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=dbfce7fc47556cfedc1a1ec2c2e6081c +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUM(count_star) AS total, SUM(sum_timer_wait) AS total_latency, SUM(max_timer_wait) AS max_latency, SUM(sum_lock_time) AS lock_latency, SUM(sum_rows_sent) AS rows_sent, SUM(sum_rows_examined) AS rows_examined, SUM(sum_rows_affected) AS rows_affected, SUM(sum_no_index_used) + SUM(sum_no_good_index_used) AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name GROUP BY IF(user IS NULL, \'background\', user) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME`) AS `lock_latency`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT`) AS `rows_sent`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED`) AS `rows_examined`,sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED`) AS `rows_affected`,(sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED`) + sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`)) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` group by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) order by sum(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_type.frm b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_type.frm new file mode 100644 index 00000000..428c5dd2 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024user_summary_by_statement_type.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,substring_index(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME` AS `lock_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` where (`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=335c2dc616d51406316245a601ace891 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:02 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, SUBSTRING_INDEX(event_name, \'/\', -1) AS statement, count_star AS total, sum_timer_wait AS total_latency, max_timer_wait AS max_latency, sum_lock_time AS lock_latency, sum_rows_sent AS rows_sent, sum_rows_examined AS rows_examined, sum_rows_affected AS rows_affected, sum_no_index_used + sum_no_good_index_used AS full_scans FROM performance_schema.events_statements_summary_by_user_by_event_name WHERE sum_timer_wait != 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`) AS `user`,substring_index(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`EVENT_NAME`,\'/\',-(1)) AS `statement`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_LOCK_TIME` AS `lock_latency`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_SENT` AS `rows_sent`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_EXAMINED` AS `rows_examined`,`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_ROWS_AFFECTED` AS `rows_affected`,(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_INDEX_USED` + `performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_NO_GOOD_INDEX_USED`) AS `full_scans` from `performance_schema`.`events_statements_summary_by_user_by_event_name` where (`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` <> 0) order by if(isnull(`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_statements_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_statements_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_avg_latency.frm b/sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_avg_latency.frm new file mode 100644 index 00000000..999a671b --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_avg_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) AS `avg_latency`,max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by `event_class` order by ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) desc +md5=b3ac001b255bbdbe61d502d7fd2edd2d +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name,\'/\', 3) AS event_class, SUM(COUNT_STAR) AS total, SUM(sum_timer_wait) AS total_latency, MIN(min_timer_wait) AS min_latency, IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) AS avg_latency, MAX(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != \'idle\' GROUP BY event_class ORDER BY IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) AS `avg_latency`,max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by `event_class` order by ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_latency.frm new file mode 100644 index 00000000..d0f6daae --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024wait_classes_global_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) AS `avg_latency`,max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) order by sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) desc +md5=9d840339684bda6a9e812ee3a26b89de +updatable=0 +algorithm=1 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT SUBSTRING_INDEX(event_name,\'/\', 3) AS event_class, SUM(COUNT_STAR) AS total, SUM(sum_timer_wait) AS total_latency, MIN(min_timer_wait) AS min_latency, IFNULL(SUM(sum_timer_wait) / NULLIF(SUM(COUNT_STAR), 0), 0) AS avg_latency, MAX(max_timer_wait) AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE sum_timer_wait > 0 AND event_name != \'idle\' GROUP BY SUBSTRING_INDEX(event_name,\'/\', 3) ORDER BY SUM(sum_timer_wait) DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) AS `event_class`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`) AS `total`,sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) AS `total_latency`,min(`performance_schema`.`events_waits_summary_global_by_event_name`.`MIN_TIMER_WAIT`) AS `min_latency`,ifnull((sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) / nullif(sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR`),0)),0) AS `avg_latency`,max(`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT`) AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0) and (`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\')) group by substring_index(`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME`,\'/\',3) order by sum(`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT`) desc diff --git a/sandbox/servers/5.7/data/sys/x@0024waits_by_host_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024waits_by_host_by_latency.frm new file mode 100644 index 00000000..25bf9f98 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024waits_by_host_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc +md5=9e8400b7668eaa0c1f9fad020eb2bc5f +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(host IS NULL, \'background\', host) AS host, event_name AS event, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_host_by_event_name WHERE event_name != \'idle\' AND sum_timer_wait > 0 ORDER BY host, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`) AS `host`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_waits_summary_by_host_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_host_by_event_name` where ((`performance_schema`.`events_waits_summary_by_host_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),\'background\',`performance_schema`.`events_waits_summary_by_host_by_event_name`.`HOST`),`performance_schema`.`events_waits_summary_by_host_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024waits_by_user_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024waits_by_user_by_latency.frm new file mode 100644 index 00000000..4d2401fc --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024waits_by_user_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER` is not null) and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc +md5=dbc518ef2a76158bb249c3cc24030227 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT IF(user IS NULL, \'background\', user) AS user, event_name AS event, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_by_user_by_event_name WHERE event_name != \'idle\' AND user IS NOT NULL AND sum_timer_wait > 0 ORDER BY user, sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`) AS `user`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` AS `event`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_waits_summary_by_user_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_by_user_by_event_name` where ((`performance_schema`.`events_waits_summary_by_user_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER` is not null) and (`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by if(isnull(`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),\'background\',`performance_schema`.`events_waits_summary_by_user_by_event_name`.`USER`),`performance_schema`.`events_waits_summary_by_user_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/sandbox/servers/5.7/data/sys/x@0024waits_global_by_latency.frm b/sandbox/servers/5.7/data/sys/x@0024waits_global_by_latency.frm new file mode 100644 index 00000000..12f13401 --- /dev/null +++ b/sandbox/servers/5.7/data/sys/x@0024waits_global_by_latency.frm @@ -0,0 +1,15 @@ +TYPE=VIEW +query=select `performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` AS `events`,`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_global_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by `performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` desc +md5=7cafecd806838fe586dc4c00fb492681 +updatable=1 +algorithm=2 +definer_user=mysql.sys +definer_host=localhost +suid=0 +with_check_option=0 +timestamp=2016-01-03 19:48:03 +create-version=1 +source=SELECT event_name AS event, count_star AS total, sum_timer_wait AS total_latency, avg_timer_wait AS avg_latency, max_timer_wait AS max_latency FROM performance_schema.events_waits_summary_global_by_event_name WHERE event_name != \'idle\' AND sum_timer_wait > 0 ORDER BY sum_timer_wait DESC +client_cs_name=utf8 +connection_cl_name=utf8_general_ci +view_body_utf8=select `performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` AS `events`,`performance_schema`.`events_waits_summary_global_by_event_name`.`COUNT_STAR` AS `total`,`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` AS `total_latency`,`performance_schema`.`events_waits_summary_global_by_event_name`.`AVG_TIMER_WAIT` AS `avg_latency`,`performance_schema`.`events_waits_summary_global_by_event_name`.`MAX_TIMER_WAIT` AS `max_latency` from `performance_schema`.`events_waits_summary_global_by_event_name` where ((`performance_schema`.`events_waits_summary_global_by_event_name`.`EVENT_NAME` <> \'idle\') and (`performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` > 0)) order by `performance_schema`.`events_waits_summary_global_by_event_name`.`SUM_TIMER_WAIT` desc diff --git a/t/pt-query-digest/explain.t b/t/pt-query-digest/explain.t index e7ea3b3f..76b251c7 100644 --- a/t/pt-query-digest/explain.t +++ b/t/pt-query-digest/explain.t @@ -39,13 +39,13 @@ ok( no_diff( sub { pt_query_digest::main(@args, "$trunk/t/lib/samples/slowlogs/slow007.txt") }, - ( $sandbox_version ge '5.5' ? "$sample/slow007_explain_1-55.txt" + ( $sandbox_version ge '5.7' ? "$sample/slow007_explain_1-57.txt" + : $sandbox_version ge '5.5' ? "$sample/slow007_explain_1-55.txt" : $sandbox_version ge '5.1' ? "$sample/slow007_explain_1-51.txt" - : "$sample/slow007_explain_1.txt") + : "$sample/slow007_explain_1.txt"), ), 'Analysis for slow007 with --explain, no rows', ); - # Normalish output from EXPLAIN. $dbh->do("insert into trees values ('apple'),('orange'),('banana')"); @@ -53,8 +53,9 @@ ok( no_diff( sub { pt_query_digest::main(@args, "$trunk/t/lib/samples/slowlogs/slow007.txt") }, - ($sandbox_version ge '5.1' ? "$sample/slow007_explain_2-51.txt" - : "$sample/slow007_explain_2.txt") + ( $sandbox_version ge '5.7' ? "$sample/slow007_explain_2-57.txt" + : $sandbox_version ge '5.1' ? "$sample/slow007_explain_2-51.txt" + : "$sample/slow007_explain_2.txt"), ), 'Analysis for slow007 with --explain', ); @@ -98,11 +99,12 @@ ok( '--report-format', 'profile,query_report', "$trunk/t/pt-query-digest/samples/issue_1196.log",) }, - ( $sandbox_version eq '5.6' ? "$sample/issue_1196-output-5.6.txt" + ( $sandbox_version ge '5.7' ? "$sample/issue_1196-output-5.7.txt" + : $sandbox_version ge '5.6' ? "$sample/issue_1196-output-5.6.txt" : $sandbox_version ge '5.1' ? "$sample/issue_1196-output.txt" : "$sample/issue_1196-output-5.0.txt"), ), - "--explain sparkline uses event db and doesn't crash ea (issue 1196" + "--explain sparkline uses event db and doesn't crash ea (issue 1196)" ); # ############################################################################# diff --git a/t/pt-query-digest/review.t b/t/pt-query-digest/review.t index 7dcf48dc..df10af54 100644 --- a/t/pt-query-digest/review.t +++ b/t/pt-query-digest/review.t @@ -13,6 +13,7 @@ use Test::More; use PerconaTest; use Sandbox; +use SqlModes; require "$trunk/bin/pt-query-digest"; my $dp = new DSNParser(opts=>$dsn_opts); @@ -136,6 +137,14 @@ ok( # Make sure that when we run with all-0 timestamps they don't show up in the # output because they are useless of course (issue 202). + +# Since some sql_modes don't allow '0000-00-00' dates, to keep this test valid +# we simply remove them for a moment and then restore. +my $modes = new SqlModes($dbh); +$modes->del(qw(STRICT_TRANS_TABLES STRICT_ALL_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE)); + +my $currmodes = $modes->get_modes_string(); + $dbh->do("update test.query_review set first_seen='0000-00-00 00:00:00', " . " last_seen='0000-00-00 00:00:00'"); $output = run_with("slow022.txt", @@ -144,6 +153,8 @@ unlike($output, qr/last_seen/, 'no last_seen when 0000 timestamp'); unlike($output, qr/first_seen/, 'no first_seen when 0000 timestamp'); unlike($output, qr/0000-00-00 00:00:00/, 'no 0000-00-00 00:00:00 timestamp'); +$modes->restore_original_modes(); + # ########################################################################## # XXX The following tests will cause non-deterministic data, so run them # after anything that wants to check the contents of the --review table. diff --git a/t/pt-query-digest/samples/issue_1196-output-5.7.txt b/t/pt-query-digest/samples/issue_1196-output-5.7.txt new file mode 100644 index 00000000..4cd38fdd --- /dev/null +++ b/t/pt-query-digest/samples/issue_1196-output-5.7.txt @@ -0,0 +1,62 @@ + +# Profile +# Rank Query ID Response time Calls R/Call V/M Item +# ==== ================== ============= ===== ====== ===== ======== +# 1 0xD4B6A5CD2F2F485C 0.2148 100.0% 1 0.2148 0.00 SELECT t + +# Query 1: 0 QPS, 0x concurrency, ID 0xD4B6A5CD2F2F485C at byte 0 ________ +# This item is included in the report because it matches --limit. +# Scores: V/M = 0.00 +# Time range: all events occurred at 2010-12-14 16:12:28 +# Attribute pct total min max avg 95% stddev median +# ============ === ======= ======= ======= ======= ======= ======= ======= +# Count 100 1 +# Exec time 100 215ms 215ms 215ms 215ms 215ms 0 215ms +# Lock time 99 162us 162us 162us 162us 162us 0 162us +# Rows sent 100 10 10 10 10 10 0 10 +# Rows examine 100 1.96k 1.96k 1.96k 1.96k 1.96k 0 1.96k +# Query size 100 82 82 82 82 82 0 82 +# String: +# Databases issue_1196 +# Hosts localhost +# Users root +# Query_time distribution +# 1us +# 10us +# 100us +# 1ms +# 10ms +# 100ms ################################################################ +# 1s +# 10s+ +# Tables +# SHOW TABLE STATUS FROM `issue_1196` LIKE 't'\G +# SHOW CREATE TABLE `issue_1196`.`t`\G +# EXPLAIN /*!50100 PARTITIONS*/ +select t.a, count(*) from t join t t2 using(a) group by 1 order by 2 desc limit 10\G +# *************************** 1. row *************************** +# id: 1 +# select_type: SIMPLE +# table: t +# partitions: NULL +# type: ALL +# possible_keys: NULL +# key: NULL +# key_len: NULL +# ref: NULL +# rows: 14 +# filtered: 100.00 +# Extra: Using temporary; Using filesort +# *************************** 2. row *************************** +# id: 1 +# select_type: SIMPLE +# table: t2 +# partitions: NULL +# type: ALL +# possible_keys: NULL +# key: NULL +# key_len: NULL +# ref: NULL +# rows: 14 +# filtered: 10.00 +# Extra: Using where; Using join buffer (Block Nested Loop) diff --git a/t/pt-query-digest/samples/slow007_explain_1-57.txt b/t/pt-query-digest/samples/slow007_explain_1-57.txt new file mode 100644 index 00000000..09850ded --- /dev/null +++ b/t/pt-query-digest/samples/slow007_explain_1-57.txt @@ -0,0 +1,45 @@ + +# Query 1: 0 QPS, 0x concurrency, ID 0x8E306CDB7A800841 at byte 0 ________ +# This item is included in the report because it matches --limit. +# Scores: V/M = 0.00 +# Time range: all events occurred at 2007-12-18 11:48:27 +# Attribute pct total min max avg 95% stddev median +# ============ === ======= ======= ======= ======= ======= ======= ======= +# Count 100 1 +# Exec time 100 12us 12us 12us 12us 12us 0 12us +# Lock time 0 0 0 0 0 0 0 0 +# Rows sent 0 0 0 0 0 0 0 0 +# Rows examine 0 0 0 0 0 0 0 0 +# Merge passes 0 0 0 0 0 0 0 0 +# Query size 100 23 23 23 23 23 0 23 +# String: +# Databases food +# Hosts +# Users [SQL_SLAVE] +# Query_time distribution +# 1us +# 10us ################################################################ +# 100us +# 1ms +# 10ms +# 100ms +# 1s +# 10s+ +# Tables +# SHOW TABLE STATUS FROM `food` LIKE 'trees'\G +# SHOW CREATE TABLE `food`.`trees`\G +# EXPLAIN /*!50100 PARTITIONS*/ +SELECT fruit FROM trees\G +# *************************** 1. row *************************** +# id: 1 +# select_type: SIMPLE +# table: trees +# partitions: NULL +# type: index +# possible_keys: NULL +# key: fruit +# key_len: 27 +# ref: NULL +# rows: 1 +# filtered: 100.00 +# Extra: Using index diff --git a/t/pt-query-digest/samples/slow007_explain_2-57.txt b/t/pt-query-digest/samples/slow007_explain_2-57.txt new file mode 100644 index 00000000..8265bf7b --- /dev/null +++ b/t/pt-query-digest/samples/slow007_explain_2-57.txt @@ -0,0 +1,45 @@ + +# Query 1: 0 QPS, 0x concurrency, ID 0x8E306CDB7A800841 at byte 0 ________ +# This item is included in the report because it matches --limit. +# Scores: V/M = 0.00 +# Time range: all events occurred at 2007-12-18 11:48:27 +# Attribute pct total min max avg 95% stddev median +# ============ === ======= ======= ======= ======= ======= ======= ======= +# Count 100 1 +# Exec time 100 12us 12us 12us 12us 12us 0 12us +# Lock time 0 0 0 0 0 0 0 0 +# Rows sent 0 0 0 0 0 0 0 0 +# Rows examine 0 0 0 0 0 0 0 0 +# Merge passes 0 0 0 0 0 0 0 0 +# Query size 100 23 23 23 23 23 0 23 +# String: +# Databases food +# Hosts +# Users [SQL_SLAVE] +# Query_time distribution +# 1us +# 10us ################################################################ +# 100us +# 1ms +# 10ms +# 100ms +# 1s +# 10s+ +# Tables +# SHOW TABLE STATUS FROM `food` LIKE 'trees'\G +# SHOW CREATE TABLE `food`.`trees`\G +# EXPLAIN /*!50100 PARTITIONS*/ +SELECT fruit FROM trees\G +# *************************** 1. row *************************** +# id: 1 +# select_type: SIMPLE +# table: trees +# partitions: NULL +# type: index +# possible_keys: NULL +# key: fruit +# key_len: 27 +# ref: NULL +# rows: 3 +# filtered: 100.00 +# Extra: Using index diff --git a/t/pt-show-grants/all_grants.t b/t/pt-show-grants/all_grants.t index 65dbbc31..2b886623 100644 --- a/t/pt-show-grants/all_grants.t +++ b/t/pt-show-grants/all_grants.t @@ -13,6 +13,8 @@ use Test::More; use PerconaTest; use Sandbox; +use SqlModes; + require "$trunk/bin/pt-show-grants"; my $dp = new DSNParser(opts=>$dsn_opts); @@ -35,9 +37,14 @@ my $cnf = '/tmp/12345/my.sandbox.cnf'; # Issue 551: mk-show-grants does not support listing all grants for a single # user (over multiple hosts) # ############################################################################# + +# to make creating users easier we remove NO_AUTO_CREATE_USER mode +my $modes = new SqlModes($dbh, global=>1); +$modes->del('NO_AUTO_CREATE_USER'); diag(`/tmp/12345/use -u root -e "GRANT USAGE ON *.* TO 'bob'\@'%'"`); diag(`/tmp/12345/use -u root -e "GRANT USAGE ON *.* TO 'bob'\@'localhost'"`); diag(`/tmp/12345/use -u root -e "GRANT USAGE ON *.* TO 'bob'\@'192.168.1.1'"`); +$modes->restore_original_modes; $output = output( sub { pt_show_grants::main('-F', $cnf, qw(--only bob --no-header)); } diff --git a/t/pt-show-grants/basics.t b/t/pt-show-grants/basics.t index d526ffea..619a375a 100644 --- a/t/pt-show-grants/basics.t +++ b/t/pt-show-grants/basics.t @@ -13,6 +13,7 @@ use Test::More; use PerconaTest; use Sandbox; +use SqlModes; require "$trunk/bin/pt-show-grants"; my $dp = new DSNParser(opts=>$dsn_opts); @@ -90,15 +91,17 @@ like( qr/\d\d:\d\d:\d\d\n\z/, 'No output when all users skipped' ); - # ############################################################################# # pt-show-grant doesn't support column-level grants # https://bugs.launchpad.net/percona-toolkit/+bug/866075 # ############################################################################# $sb->load_file('master', 't/pt-show-grants/samples/column-grants.sql'); +# momentarily disable NO_AUTO_CREATE_USER +my $modes = new SqlModes($dbh, global=>1); +$modes->del('NO_AUTO_CREATE_USER'); diag(`/tmp/12345/use -u root -e "GRANT SELECT(DateCreated, PckPrice, PaymentStat, SANumber) ON test.t TO 'sally'\@'%'"`); diag(`/tmp/12345/use -u root -e "GRANT SELECT(city_id), INSERT(city) ON sakila.city TO 'sally'\@'%'"`); - +$modes->restore_original_modes(); ok( no_diff( sub { pt_show_grants::main('-F', $cnf, qw(--only sally --no-header)) }, @@ -141,6 +144,7 @@ ok( diag(`/tmp/12345/use -u root -e "DROP USER 'sally'\@'%'"`); +DONE: # ############################################################################# # Done. # ############################################################################# diff --git a/t/pt-show-grants/issue_445.t b/t/pt-show-grants/issue_445.t index 24db4bbc..36244734 100644 --- a/t/pt-show-grants/issue_445.t +++ b/t/pt-show-grants/issue_445.t @@ -13,6 +13,7 @@ use Test::More; use PerconaTest; use Sandbox; +use SqlModes; require "$trunk/bin/pt-show-grants"; my $dp = new DSNParser(opts=>$dsn_opts); @@ -34,7 +35,13 @@ my $cnf = '/tmp/12345/my.sandbox.cnf'; # ############################################################################# # Issue 445: mk-show-grants --revoke crashes # ############################################################################# + +# allow auto create user for a moment +my $modes = new SqlModes($dbh, global=>1); +$modes->del('NO_AUTO_CREATE_USER'); diag(`/tmp/12345/use -u root -e "GRANT USAGE ON *.* TO ''\@''"`); +$modes->restore_original_modes(); + $output = `/tmp/12345/use -e "SELECT user FROM mysql.user WHERE user = ''"`; like( $output, diff --git a/t/pt-show-grants/samples/column-grants.sql b/t/pt-show-grants/samples/column-grants.sql index b805c298..a0c93805 100644 --- a/t/pt-show-grants/samples/column-grants.sql +++ b/t/pt-show-grants/samples/column-grants.sql @@ -6,7 +6,7 @@ CREATE TABLE t ( `SOrNum` mediumint(9) unsigned NOT NULL auto_increment, `SPNum` mediumint(9) unsigned NOT NULL, `DateCreated` timestamp NOT NULL default CURRENT_TIMESTAMP, - `DateRelease` timestamp NOT NULL default '0000-00-00 00:00:00', + `DateRelease` timestamp NOT NULL default CURRENT_TIMESTAMP, `ActualReleasedDate` timestamp NULL default NULL, `PckPrice` decimal(10,2) NOT NULL default '0.00', `Status` varchar(20) NOT NULL,