You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by tu...@apache.org on 2023/04/28 01:47:34 UTC

[shardingsphere] branch master updated: Finish mysql performance_schema tables (#25340)

This is an automated email from the ASF dual-hosted git repository.

tuichenchuxin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 965a7c664f9 Finish mysql performance_schema tables (#25340)
965a7c664f9 is described below

commit 965a7c664f91e9d93eeb5ccf524eb1962e3b75b7
Author: ZhangCheng <ch...@apache.org>
AuthorDate: Fri Apr 28 09:47:27 2023 +0800

    Finish mysql performance_schema tables (#25340)
---
 .../schema/builder/SystemSchemaBuilderRule.java    |   5 +-
 .../table_io_waits_summary_by_index_usage.yaml     | 331 ++++++++++++
 .../table_io_waits_summary_by_table.yaml           | 323 ++++++++++++
 .../table_lock_waits_summary_by_table.yaml         | 563 +++++++++++++++++++++
 .../schema/mysql/performance_schema/threads.yaml   | 155 ++++++
 .../user_variables_by_thread.yaml                  |  43 ++
 .../schema/mysql/performance_schema/users.yaml     |  43 ++
 .../performance_schema/variables_by_thread.yaml    |  43 ++
 .../builder/SystemSchemaBuilderRuleTest.java       |   2 +-
 .../schema/builder/SystemSchemaBuilderTest.java    |   2 +-
 ...chema_table_io_waits_summary_by_index_usage.xml |  60 +++
 ...ance_schema_table_io_waits_summary_by_table.xml |  59 +++
 ...ce_schema_table_lock_waits_summary_by_table.xml |  89 ++++
 .../db/select_mysql_performance_schema_threads.xml |  38 ++
 ...performance_schema_user_variables_by_thread.xml |  24 +
 .../db/select_mysql_performance_schema_users.xml   |  24 +
 ...ysql_performance_schema_variables_by_thread.xml |  24 +
 .../dql/dql-integration-select-system-schema.xml   |  28 +
 18 files changed, 1852 insertions(+), 4 deletions(-)

diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRule.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRule.java
index 7be51ca9329..2848826c0af 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRule.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRule.java
@@ -54,7 +54,7 @@ public enum SystemSchemaBuilderRule {
     
     MYSQL_PERFORMANCE_SCHEMA("MySQL", "performance_schema", new HashSet<>(Arrays.asList("accounts", "cond_instances", "events_stages_current", "events_stages_history", "events_stages_history_long",
             "events_stages_summary_by_account_by_event_name", "events_stages_summary_by_host_by_event_name", "events_stages_summary_by_thread_by_event_name",
-            "events_stages_summary_by_user_by_event_name", "events_statements_current", "events_statements_history", "events_statements_history_long",
+            "events_stages_summary_by_user_by_event_name", "events_stages_summary_global_by_event_name", "events_statements_current", "events_statements_history", "events_statements_history_long",
             "events_statements_summary_by_account_by_event_name", "events_statements_summary_by_digest", "events_statements_summary_by_host_by_event_name", "events_statements_summary_by_program",
             "events_statements_summary_by_thread_by_event_name", "events_statements_summary_by_user_by_event_name", "events_statements_summary_global_by_event_name",
             "events_transactions_current", "events_transactions_history", "events_transactions_history_long", "events_transactions_summary_by_account_by_event_name",
@@ -67,7 +67,8 @@ public enum SystemSchemaBuilderRule {
             "replication_applier_configuration", "replication_applier_status", "replication_applier_status_by_coordinator", "replication_applier_status_by_worker",
             "replication_connection_configuration", "replication_connection_status", "replication_group_member_stats", "replication_group_members", "rwlock_instances", "session_account_connect_attrs",
             "session_connect_attrs", "session_status", "session_variables", "setup_actors", "setup_consumers", "setup_instruments", "setup_objects", "setup_timers", "socket_instances",
-            "socket_summary_by_event_name", "socket_summary_by_instance", "status_by_account", "status_by_host", "status_by_thread", "status_by_user", "table_handles"))),
+            "socket_summary_by_event_name", "socket_summary_by_instance", "status_by_account", "status_by_host", "status_by_thread", "status_by_user", "table_handles",
+            "table_io_waits_summary_by_index_usage", "table_io_waits_summary_by_table", "table_lock_waits_summary_by_table", "threads", "user_variables_by_thread", "users", "variables_by_thread"))),
     
     MYSQL_SYS("MySQL", "sys", new HashSet<>(Collections.singleton("sys"))),
     
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/table_io_waits_summary_by_index_usage.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/table_io_waits_summary_by_index_usage.yaml
new file mode 100644
index 00000000000..603163426e7
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/table_io_waits_summary_by_index_usage.yaml
@@ -0,0 +1,331 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: table_io_waits_summary_by_index_usage
+columns:
+  object_type:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_TYPE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  object_schema:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_SCHEMA
+    primaryKey: false
+    unsigned: false
+    visible: true
+  object_name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  index_name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: INDEX_NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  count_star:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_STAR
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/table_io_waits_summary_by_table.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/table_io_waits_summary_by_table.yaml
new file mode 100644
index 00000000000..cb5bf1522a6
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/table_io_waits_summary_by_table.yaml
@@ -0,0 +1,323 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: table_io_waits_summary_by_table
+columns:
+  object_type:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_TYPE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  object_schema:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_SCHEMA
+    primaryKey: false
+    unsigned: false
+    visible: true
+  object_name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  count_star:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_STAR
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_fetch:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_FETCH
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_update:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_UPDATE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_delete:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_DELETE
+    primaryKey: false
+    unsigned: true
+    visible: true
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/table_lock_waits_summary_by_table.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/table_lock_waits_summary_by_table.yaml
new file mode 100644
index 00000000000..8c411a3f90a
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/table_lock_waits_summary_by_table.yaml
@@ -0,0 +1,563 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: table_lock_waits_summary_by_table
+columns:
+  object_type:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_TYPE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  object_schema:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_SCHEMA
+    primaryKey: false
+    unsigned: false
+    visible: true
+  object_name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: OBJECT_NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  count_star:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_STAR
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_wait:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WAIT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read_with_shared_locks:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ_WITH_SHARED_LOCKS
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read_with_shared_locks:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ_WITH_SHARED_LOCKS
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read_with_shared_locks:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ_WITH_SHARED_LOCKS
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read_with_shared_locks:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ_WITH_SHARED_LOCKS
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read_with_shared_locks:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ_WITH_SHARED_LOCKS
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read_high_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ_HIGH_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read_high_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ_HIGH_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read_high_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ_HIGH_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read_high_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ_HIGH_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read_high_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ_HIGH_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read_no_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ_NO_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read_no_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ_NO_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read_no_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ_NO_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read_no_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ_NO_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read_no_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ_NO_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_read_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_READ_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_read_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_READ_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_read_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_READ_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_read_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_READ_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_read_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_READ_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write_allow_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE_ALLOW_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write_allow_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE_ALLOW_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write_allow_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE_ALLOW_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write_allow_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE_ALLOW_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write_allow_write:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE_ALLOW_WRITE
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write_concurrent_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE_CONCURRENT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write_concurrent_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE_CONCURRENT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write_concurrent_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE_CONCURRENT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write_concurrent_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE_CONCURRENT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write_concurrent_insert:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE_CONCURRENT_INSERT
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write_low_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE_LOW_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write_low_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE_LOW_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write_low_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE_LOW_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write_low_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE_LOW_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write_low_priority:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE_LOW_PRIORITY
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write_normal:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE_NORMAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  count_write_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: COUNT_WRITE_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  sum_timer_write_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: SUM_TIMER_WRITE_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  min_timer_write_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MIN_TIMER_WRITE_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  avg_timer_write_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: AVG_TIMER_WRITE_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
+  max_timer_write_external:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: MAX_TIMER_WRITE_EXTERNAL
+    primaryKey: false
+    unsigned: true
+    visible: true
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/threads.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/threads.yaml
new file mode 100644
index 00000000000..c716072e171
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/threads.yaml
@@ -0,0 +1,155 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: threads
+columns:
+  thread_id:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: THREAD_ID
+    primaryKey: false
+    unsigned: true
+    visible: true
+  name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  type:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: TYPE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_id:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: PROCESSLIST_ID
+    primaryKey: false
+    unsigned: true
+    visible: true
+  processlist_user:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: PROCESSLIST_USER
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_host:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: PROCESSLIST_HOST
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_db:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: PROCESSLIST_DB
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_command:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: PROCESSLIST_COMMAND
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_time:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: PROCESSLIST_TIME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_state:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: PROCESSLIST_STATE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  processlist_info:
+    caseSensitive: false
+    dataType: -1
+    generated: false
+    name: PROCESSLIST_INFO
+    primaryKey: false
+    unsigned: false
+    visible: true
+  parent_thread_id:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: PARENT_THREAD_ID
+    primaryKey: false
+    unsigned: true
+    visible: true
+  role:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: ROLE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  instrumented:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: INSTRUMENTED
+    primaryKey: false
+    unsigned: false
+    visible: true
+  history:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: HISTORY
+    primaryKey: false
+    unsigned: false
+    visible: true
+  connection_type:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: CONNECTION_TYPE
+    primaryKey: false
+    unsigned: false
+    visible: true
+  thread_os_id:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: THREAD_OS_ID
+    primaryKey: false
+    unsigned: true
+    visible: true
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/user_variables_by_thread.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/user_variables_by_thread.yaml
new file mode 100644
index 00000000000..f9df8a5a8f8
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/user_variables_by_thread.yaml
@@ -0,0 +1,43 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: user_variables_by_thread
+columns:
+  thread_id:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: THREAD_ID
+    primaryKey: false
+    unsigned: true
+    visible: true
+  variable_name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: VARIABLE_NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  variable_value:
+    caseSensitive: false
+    dataType: -4
+    generated: false
+    name: VARIABLE_VALUE
+    primaryKey: false
+    unsigned: false
+    visible: true
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/users.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/users.yaml
new file mode 100644
index 00000000000..459b89db7b6
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/users.yaml
@@ -0,0 +1,43 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: users
+columns:
+  user:
+    caseSensitive: true
+    dataType: 1
+    generated: false
+    name: USER
+    primaryKey: false
+    unsigned: false
+    visible: true
+  current_connections:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: CURRENT_CONNECTIONS
+    primaryKey: false
+    unsigned: false
+    visible: true
+  total_connections:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: TOTAL_CONNECTIONS
+    primaryKey: false
+    unsigned: false
+    visible: true
diff --git a/infra/common/src/main/resources/schema/mysql/performance_schema/variables_by_thread.yaml b/infra/common/src/main/resources/schema/mysql/performance_schema/variables_by_thread.yaml
new file mode 100644
index 00000000000..79eab01a1cf
--- /dev/null
+++ b/infra/common/src/main/resources/schema/mysql/performance_schema/variables_by_thread.yaml
@@ -0,0 +1,43 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: variables_by_thread
+columns:
+  thread_id:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: THREAD_ID
+    primaryKey: false
+    unsigned: true
+    visible: true
+  variable_name:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: VARIABLE_NAME
+    primaryKey: false
+    unsigned: false
+    visible: true
+  variable_value:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: VARIABLE_VALUE
+    primaryKey: false
+    unsigned: false
+    visible: true
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRuleTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRuleTest.java
index db83e10b84c..3f5613b70a4 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRuleTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderRuleTest.java
@@ -38,7 +38,7 @@ class SystemSchemaBuilderRuleTest {
         assertThat(actualMySQLSchema.getTables().size(), is(31));
         SystemSchemaBuilderRule actualPerformanceSchema = SystemSchemaBuilderRule.valueOf(new MySQLDatabaseType().getType(), "performance_schema");
         assertThat(actualPerformanceSchema, is(SystemSchemaBuilderRule.MYSQL_PERFORMANCE_SCHEMA));
-        assertThat(actualPerformanceSchema.getTables().size(), is(79));
+        assertThat(actualPerformanceSchema.getTables().size(), is(87));
     }
     
     @Test
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
index 06ad757f260..78780e61ed3 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
@@ -44,7 +44,7 @@ class SystemSchemaBuilderTest {
         Map<String, ShardingSphereSchema> actualPerformanceSchema = SystemSchemaBuilder.build("performance_schema", new MySQLDatabaseType());
         assertThat(actualPerformanceSchema.size(), is(1));
         assertTrue(actualPerformanceSchema.containsKey("performance_schema"));
-        assertThat(actualPerformanceSchema.get("performance_schema").getTables().size(), is(79));
+        assertThat(actualPerformanceSchema.get("performance_schema").getTables().size(), is(87));
     }
     
     @Test
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_io_waits_summary_by_index_usage.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_io_waits_summary_by_index_usage.xml
new file mode 100644
index 00000000000..fd021321082
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_io_waits_summary_by_index_usage.xml
@@ -0,0 +1,60 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="object_type" />
+        <column name="object_schema" />
+        <column name="object_name" />
+        <column name="index_name" />
+        <column name="count_star" />
+        <column name="sum_timer_wait" />
+        <column name="min_timer_wait" />
+        <column name="avg_timer_wait" />
+        <column name="max_timer_wait" />
+        <column name="count_read" />
+        <column name="sum_timer_read" />
+        <column name="min_timer_read" />
+        <column name="avg_timer_read" />
+        <column name="max_timer_read" />
+        <column name="count_write" />
+        <column name="sum_timer_write" />
+        <column name="min_timer_write" />
+        <column name="avg_timer_write" />
+        <column name="max_timer_write" />
+        <column name="count_fetch" />
+        <column name="sum_timer_fetch" />
+        <column name="min_timer_fetch" />
+        <column name="avg_timer_fetch" />
+        <column name="max_timer_fetch" />
+        <column name="count_insert" />
+        <column name="sum_timer_insert" />
+        <column name="min_timer_insert" />
+        <column name="avg_timer_insert" />
+        <column name="max_timer_insert" />
+        <column name="count_update" />
+        <column name="sum_timer_update" />
+        <column name="min_timer_update" />
+        <column name="avg_timer_update" />
+        <column name="max_timer_update" />
+        <column name="count_delete" />
+        <column name="sum_timer_delete" />
+        <column name="min_timer_delete" />
+        <column name="avg_timer_delete" />
+        <column name="max_timer_delete" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_io_waits_summary_by_table.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_io_waits_summary_by_table.xml
new file mode 100644
index 00000000000..16e9966c923
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_io_waits_summary_by_table.xml
@@ -0,0 +1,59 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="object_type" />
+        <column name="object_schema" />
+        <column name="object_name" />
+        <column name="count_star" />
+        <column name="sum_timer_wait" />
+        <column name="min_timer_wait" />
+        <column name="avg_timer_wait" />
+        <column name="max_timer_wait" />
+        <column name="count_read" />
+        <column name="sum_timer_read" />
+        <column name="min_timer_read" />
+        <column name="avg_timer_read" />
+        <column name="max_timer_read" />
+        <column name="count_write" />
+        <column name="sum_timer_write" />
+        <column name="min_timer_write" />
+        <column name="avg_timer_write" />
+        <column name="max_timer_write" />
+        <column name="count_fetch" />
+        <column name="sum_timer_fetch" />
+        <column name="min_timer_fetch" />
+        <column name="avg_timer_fetch" />
+        <column name="max_timer_fetch" />
+        <column name="count_insert" />
+        <column name="sum_timer_insert" />
+        <column name="min_timer_insert" />
+        <column name="avg_timer_insert" />
+        <column name="max_timer_insert" />
+        <column name="count_update" />
+        <column name="sum_timer_update" />
+        <column name="min_timer_update" />
+        <column name="avg_timer_update" />
+        <column name="max_timer_update" />
+        <column name="count_delete" />
+        <column name="sum_timer_delete" />
+        <column name="min_timer_delete" />
+        <column name="avg_timer_delete" />
+        <column name="max_timer_delete" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_lock_waits_summary_by_table.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_lock_waits_summary_by_table.xml
new file mode 100644
index 00000000000..604b22729ea
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_table_lock_waits_summary_by_table.xml
@@ -0,0 +1,89 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="object_type" />
+        <column name="object_schema" />
+        <column name="object_name" />
+        <column name="count_star" />
+        <column name="sum_timer_wait" />
+        <column name="min_timer_wait" />
+        <column name="avg_timer_wait" />
+        <column name="max_timer_wait" />
+        <column name="count_read" />
+        <column name="sum_timer_read" />
+        <column name="min_timer_read" />
+        <column name="avg_timer_read" />
+        <column name="max_timer_read" />
+        <column name="count_write" />
+        <column name="sum_timer_write" />
+        <column name="min_timer_write" />
+        <column name="avg_timer_write" />
+        <column name="max_timer_write" />
+        <column name="count_read_normal" />
+        <column name="sum_timer_read_normal" />
+        <column name="min_timer_read_normal" />
+        <column name="avg_timer_read_normal" />
+        <column name="max_timer_read_normal" />
+        <column name="count_read_with_shared_locks" />
+        <column name="sum_timer_read_with_shared_locks" />
+        <column name="min_timer_read_with_shared_locks" />
+        <column name="avg_timer_read_with_shared_locks" />
+        <column name="max_timer_read_with_shared_locks" />
+        <column name="count_read_high_priority" />
+        <column name="sum_timer_read_high_priority" />
+        <column name="min_timer_read_high_priority" />
+        <column name="avg_timer_read_high_priority" />
+        <column name="max_timer_read_high_priority" />
+        <column name="count_read_no_insert" />
+        <column name="sum_timer_read_no_insert" />
+        <column name="min_timer_read_no_insert" />
+        <column name="avg_timer_read_no_insert" />
+        <column name="max_timer_read_no_insert" />
+        <column name="count_read_external" />
+        <column name="sum_timer_read_external" />
+        <column name="min_timer_read_external" />
+        <column name="avg_timer_read_external" />
+        <column name="max_timer_read_external" />
+        <column name="count_write_allow_write" />
+        <column name="sum_timer_write_allow_write" />
+        <column name="min_timer_write_allow_write" />
+        <column name="avg_timer_write_allow_write" />
+        <column name="max_timer_write_allow_write" />
+        <column name="count_write_concurrent_insert" />
+        <column name="sum_timer_write_concurrent_insert" />
+        <column name="min_timer_write_concurrent_insert" />
+        <column name="avg_timer_write_concurrent_insert" />
+        <column name="max_timer_write_concurrent_insert" />
+        <column name="count_write_low_priority" />
+        <column name="sum_timer_write_low_priority" />
+        <column name="min_timer_write_low_priority" />
+        <column name="avg_timer_write_low_priority" />
+        <column name="max_timer_write_low_priority" />
+        <column name="count_write_normal" />
+        <column name="sum_timer_write_normal" />
+        <column name="min_timer_write_normal" />
+        <column name="avg_timer_write_normal" />
+        <column name="max_timer_write_normal" />
+        <column name="count_write_external" />
+        <column name="sum_timer_write_external" />
+        <column name="min_timer_write_external" />
+        <column name="avg_timer_write_external" />
+        <column name="max_timer_write_external" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_threads.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_threads.xml
new file mode 100644
index 00000000000..eec36e0f49e
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_threads.xml
@@ -0,0 +1,38 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="thread_id" />
+        <column name="name" />
+        <column name="type" />
+        <column name="processlist_id" />
+        <column name="processlist_user" />
+        <column name="processlist_host" />
+        <column name="processlist_db" />
+        <column name="processlist_command" />
+        <column name="processlist_time" />
+        <column name="processlist_state" />
+        <column name="processlist_info" />
+        <column name="parent_thread_id" />
+        <column name="role" />
+        <column name="instrumented" />
+        <column name="history" />
+        <column name="connection_type" />
+        <column name="thread_os_id" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_user_variables_by_thread.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_user_variables_by_thread.xml
new file mode 100644
index 00000000000..dd38f4e53e3
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_user_variables_by_thread.xml
@@ -0,0 +1,24 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="thread_id" />
+        <column name="variable_name" />
+        <column name="variable_value" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_users.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_users.xml
new file mode 100644
index 00000000000..0159229bda9
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_users.xml
@@ -0,0 +1,24 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="user" />
+        <column name="current_connections" />
+        <column name="total_connections" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_variables_by_thread.xml b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_variables_by_thread.xml
new file mode 100644
index 00000000000..dd38f4e53e3
--- /dev/null
+++ b/test/e2e/sql/src/test/resources/cases/dql/dataset/db/select_mysql_performance_schema_variables_by_thread.xml
@@ -0,0 +1,24 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="thread_id" />
+        <column name="variable_name" />
+        <column name="variable_value" />
+    </metadata>
+</dataset>
diff --git a/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-system-schema.xml b/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-system-schema.xml
index de239014c79..9ba7c7a251b 100644
--- a/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-system-schema.xml
+++ b/test/e2e/sql/src/test/resources/cases/dql/dql-integration-select-system-schema.xml
@@ -688,4 +688,32 @@
     <test-case sql="SELECT * FROM performance_schema.table_handles" db-types="MySQL" scenario-types="db">
         <assertion expected-data-file="select_mysql_performance_schema_table_handles.xml" />
     </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.table_io_waits_summary_by_index_usage" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_table_io_waits_summary_by_index_usage.xml" />
+    </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.table_io_waits_summary_by_table" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_table_io_waits_summary_by_table.xml" />
+    </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.table_lock_waits_summary_by_table" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_table_lock_waits_summary_by_table.xml" />
+    </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.threads" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_threads.xml" />
+    </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.user_variables_by_thread" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_user_variables_by_thread.xml" />
+    </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.users" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_users.xml" />
+    </test-case>
+    
+    <test-case sql="SELECT * FROM performance_schema.variables_by_thread" db-types="MySQL" scenario-types="db">
+        <assertion expected-data-file="select_mysql_performance_schema_variables_by_thread.xml" />
+    </test-case>
 </integration-test-cases>