すべてのプロダクト
Search
ドキュメントセンター

PolarDB:Schema

最終更新日:Jan 08, 2025

このトピックでは、sqlトレース機能で使用されるmysql. SQL_sharingおよびinformation_schema.sql_sharingテーブルのテーブルスキーマと関連フィールドについて説明します。

mysql.sql_sharing

sql_sharingテーブルは、PolarDB for MySQLデータベースのInnoDBシステムテーブルです。 このテーブルは、追跡が必要な指定のSQL文を格納するために使用されます。 次の例は、sql_sharingテーブルのスキーマを示しています。

説明

sql_sharingテーブルは、起動時にシステムによって自動的に作成されます。

CREATE TABLE `sql_sharing` (
  `Id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `Sql_id` varchar(64) COLLATE utf8_bin DEFAULT NULL,
  `Schema_name` varchar(64) COLLATE utf8_bin DEFAULT NULL,
  `Type` varchar(64) COLLATE utf8_bin DEFAULT NULL,
  `Digest_text` longtext COLLATE utf8_bin,
  `Plan_id` varchar(64) COLLATE utf8_bin DEFAULT NULL,
  `Plan` text COLLATE utf8_bin,
  `Version` int(11) unsigned DEFAULT NULL,
  `Create_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `Update_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
  `Extra_info` longtext COLLATE utf8_bin,
  PRIMARY KEY (`Id`),
  UNIQUE KEY `sqlid_schema_type` (`Sql_id`,`Schema_name`,`Type`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

次の表に、テーブルスキーマに含まれるフィールドを示します。

項目

説明

Id

mysql.sql_sharingテーブル内のデータ行の自動インクリメントID。

Sql_id

テンプレート化されたSQL文のID。

Schema_name

SQL文が実行されるスキーマの名前。

Type

レコードを使用する機能。

Digest_text

テンプレート化されたSQL文の内容。

Plan_id

実行プランの ID

プラン

実行プランの名前

Version

システム内のレコードのバージョン番号。

Create_time

レコードが挿入された時刻。

Update_time

レコードが更新された時刻。

Extra_info

システムによって記録された追加情報。

information_schema.sql_sharing

information_schemaデータベースのsql_sharingメモリテーブルは、SQLトレース機能によって追跡されるSQLステートメントの実行計画を記録し、SQLステートメントの実行に関する統計を収集するために使用されます。 テーブルには次のスキーマがあります。

説明

sql_sharingテーブルは、起動時にシステムによって自動的に作成されます。

CREATE TEMPORARY TABLE `SQL_SHARING` (
  `TYPE` varchar(16) DEFAULT NULL,
  `SQL_ID` varchar(64) DEFAULT NULL,
  `SCHEMA_NAME` varchar(64) DEFAULT NULL,
  `DIGEST_TEXT` varchar(2048) DEFAULT NULL,
  `PLAN_ID` varchar(64) DEFAULT NULL,
  `PLAN` varchar(1024) DEFAULT NULL,
  `PLAN_EXTRA` varchar(1024) DEFAULT NULL,
  `ERROR_CODE` bigint(21) DEFAULT NULL,
  `REF_BY` varchar(512) DEFAULT NULL,
  `FIRST_LOAD_TIME` datetime DEFAULT NULL,
  `LAST_HIT_TIME` datetime DEFAULT NULL,
  `EXECUTIONS` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_WAIT_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_WAIT_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_WAIT_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_EXEC_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_EXEC_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_EXEC_TIME` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_ROWS_AFFECTED` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_ROWS_AFFECTED` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_ROWS_AFFECTED` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_LOGICAL_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_LOGICAL_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_LOGICAL_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_PHY_SYNC_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_PHY_SYNC_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_PHY_SYNC_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `SUM_PHY_ASYNC_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MIN_PHY_ASYNC_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_PHY_ASYNC_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
  `EXTRA` varchar(1024) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8;

次の表に、テーブルスキーマに含まれるフィールドを示します。

項目

説明

タイプ

レコードのタイプ。 有効な値:

  • SQL: テンプレート化されたSQL文。

  • PLAN: テンプレート化されたSQLステートメントの実行時に生成される実行プラン。

SQL_ID

テンプレート化されたSQL文のID。

SCHEMA_NAME

SQL文が実行されるスキーマの名前。

DIGEST_TEXT

テンプレート化されたSQL文の内容。

PLAN_ID

実行プランの ID

プラン

実行プランの名前

PLAN_EXTRA

テーブルにアクセスするためにどのメソッドを使用するか、テーブルに対してテンプレート化されたSQLステートメントを実行するために準備されたステートメントプロトコルを使用するかどうかなどの追加情報。 テーブル全体をスキャンし、インデックス範囲を選択し、同じインデックスを使用してテーブルにアクセスできます。

ERROR_CODE

エラーコードを示します。

REF_BY

SQL文または実行計画を使用する機能。 有効な値:

  • SQL_TRACE: すべてのステートメントが追跡されます。

  • SQL_TRACE(DEMAND): 指定されたSQL文が追跡されます。

FIRST_LOAD_TIME

SQL文と実行計画が最初にメモリに記録された時刻。

LAST_HIT_TIME

SQL文と実行計画が最後に実行された時刻。

実行

テンプレート化されたSQL文の総実行回数。

SUM_WAIT_TIME

SQL文の実行に必要な待機時間。 (単位: マイクロ秒)

MIN_WAIT_TIME

最小待ち時間。 (単位: マイクロ秒)

MAX_WAIT_TIME

最大待機時間。 (単位: マイクロ秒)

SUM_EXEC_TIME

SQL文の実行に必要な合計時間。 (単位: マイクロ秒)

MIN_EXEC_TIME

最小実行時間。 (単位: マイクロ秒)

MAX_EXEC_TIME

最大実行時間。 (単位: マイクロ秒)

SUM_ROWS_SENT

返された行の総数。

MIN_ROWS_SENT

返される行の最小数。

MAX_ROWS_SENT

返される行の最大数。

SUM_ROWS_EXAMINED

スキャンされた行の総数。

MIN_ROWS_EXAMINED

スキャンされる行の最小数。

MAX_ROWS_EXAMINED

スキャンされた行の最大数。

SUM_ROWS_AFFECTED

影響を受ける行の総数。

MIN_ROWS_AFFECTED

影響を受ける行の最小数。

MAX_ROWS_AFFECTED

影響を受ける行の最大数。

SUM_LOGICAL_READ

論理読み取りの総数。

MIN_LOGICAL_READ

論理読み取りの最小数。

MAX_LOGICAL_READ

論理読み取りの最大数。

SUM_PHY_SYNC_READ

物理同期読み取りの総数。

MIN_PHY_SYNC_READ

物理同期読み取りの最小数。

MAX_PHY_SYNC_READ

物理同期読み取りの最大数。

SUM_PHY_ASYNC_READ

物理非同期読み取りの総数。

MIN_PHY_ASYNC_READ

物理非同期読み取りの最小数。

MAX_PHY_ASYNC_READ

物理非同期読み取りの最大数。

追加

追加情報。

例:

SQLトレース機能は、information_schema.sql_sharingテーブルを使用してクエリレコードをトレースし、これらのレコードを表示するために使用されます。 たとえば、loose_sql_trace_typeALLに設定されている場合、データベースで次のSQL文を実行して、トレース結果を表示できます。

次のステートメントを実行します。

CREATE TABLE t AS WITH RECURSIVE t(c1, c2, c3) AS (SELECT 1, 1, 1 UNION ALL SELECT c1+1, c2 + 1, c3 + 1 FROM t WHERE c1 < 100) SELECT c1, c2, c3 FROM t;
CREATE index i_c1 ON t(c1);
SELECT  COUNT(*) FROM t;

サンプル結果:

+----------+
| count(*) |
+----------+
|      100 |
+----------+

次の文を実行して、追跡されたSQL文のトレース情報と、information_schema.sql_sharingシステムテーブルのSQL文の実行計画に関する統計を照会できます。

SELECT * FROM information_schema.sql_sharing;

サンプル結果:

*************************** 1. row ***************************
              TYPE: SQL
            SQL_ID: 83qmtgr8d6rwn
       SCHEMA_NAME: test
       DIGEST_TEXT: SELECT * FROM `t` WHERE `c2` < ?
           PLAN_ID: NULL
              PLAN: NULL
        PLAN_EXTRA: NULL
        ERROR_CODE: NULL
            REF_BY: SQL_TRACE
   FIRST_LOAD_TIME: 2022-11-07 19:04:30
     LAST_HIT_TIME: 2022-11-07 19:04:30
        EXECUTIONS: 1
     SUM_WAIT_TIME: 184
     MIN_WAIT_TIME: 184
     MAX_WAIT_TIME: 184
     SUM_EXEC_TIME: 417
     MIN_EXEC_TIME: 417
     MAX_EXEC_TIME: 417
     SUM_ROWS_SENT: 2
     MIN_ROWS_SENT: 2
     MAX_ROWS_SENT: 2
 SUM_ROWS_EXAMINED: 100
 MIN_ROWS_EXAMINED: 100
 MAX_ROWS_EXAMINED: 100
 SUM_ROWS_AFFECTED: 0
 MIN_ROWS_AFFECTED: 0
 MAX_ROWS_AFFECTED: 0
  SUM_LOGICAL_READ: 101
  MIN_LOGICAL_READ: 101
  MAX_LOGICAL_READ: 101
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             EXTRA: NULL
*************************** 2. row ***************************
              TYPE: PLAN
            SQL_ID: 83qmtgr8d6rwn
       SCHEMA_NAME: test
       DIGEST_TEXT: NULL
           PLAN_ID: 5a4cvp4gjqgfj
              PLAN: /*+ NO_INDEX(`t`@`select#1`) */
        PLAN_EXTRA: {`t`@`select#1`:ALL}
        ERROR_CODE: 0
            REF_BY: SQL_TRACE
   FIRST_LOAD_TIME: 2022-11-07 19:04:30
     LAST_HIT_TIME: 2022-11-07 19:04:30
        EXECUTIONS: 1
     SUM_WAIT_TIME: 184
     MIN_WAIT_TIME: 184
     MAX_WAIT_TIME: 184
     SUM_EXEC_TIME: 417
     MIN_EXEC_TIME: 417
     MAX_EXEC_TIME: 417
     SUM_ROWS_SENT: 2
     MIN_ROWS_SENT: 2
     MAX_ROWS_SENT: 2
 SUM_ROWS_EXAMINED: 100
 MIN_ROWS_EXAMINED: 100
 MAX_ROWS_EXAMINED: 100
 SUM_ROWS_AFFECTED: 0
 MIN_ROWS_AFFECTED: 0
 MAX_ROWS_AFFECTED: 0
  SUM_LOGICAL_READ: 101
  MIN_LOGICAL_READ: 101
  MAX_LOGICAL_READ: 101
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             EXTRA: NULL
*************************** 3. row ***************************
              TYPE: SQL
            SQL_ID: cvdqw6ncsmwgh
       SCHEMA_NAME: test
       DIGEST_TEXT: CREATE TABLE `t` AS WITH RECURSIVE `t` ( `c1` , `c2` , `c3` ) AS ( SELECT ?, ... UNION ALL SELECT `c1` + ?  , `c2` + ?  , `c3` + ?  FROM `t` WHERE `c1` < ?  ) SELECT `c1` , `c2` , `c3` FROM `t`
           PLAN_ID: NULL
              PLAN: NULL
        PLAN_EXTRA: NULL
        ERROR_CODE: NULL
            REF_BY: SQL_TRACE
   FIRST_LOAD_TIME: 2022-11-07 19:04:15
     LAST_HIT_TIME: 2022-11-07 19:04:15
        EXECUTIONS: 1
     SUM_WAIT_TIME: 376
     MIN_WAIT_TIME: 376
     MAX_WAIT_TIME: 376
     SUM_EXEC_TIME: 10679
     MIN_EXEC_TIME: 10679
     MAX_EXEC_TIME: 10679
     SUM_ROWS_SENT: 0
     MIN_ROWS_SENT: 0
     MAX_ROWS_SENT: 0
 SUM_ROWS_EXAMINED: 200
 MIN_ROWS_EXAMINED: 200
 MAX_ROWS_EXAMINED: 200
 SUM_ROWS_AFFECTED: 100
 MIN_ROWS_AFFECTED: 100
 MAX_ROWS_AFFECTED: 100
  SUM_LOGICAL_READ: 1089
  MIN_LOGICAL_READ: 1089
  MAX_LOGICAL_READ: 1089
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             EXTRA: NULL
*************************** 4. row ***************************
              TYPE: SQL
            SQL_ID: btcj0kh12wx26
       SCHEMA_NAME: test
       DIGEST_TEXT: CREATE INDEX `i_c1` ON `t` ( `c1` )
           PLAN_ID: NULL
              PLAN: NULL
        PLAN_EXTRA: NULL
        ERROR_CODE: NULL
            REF_BY: SQL_TRACE
   FIRST_LOAD_TIME: 2022-11-07 19:04:21
     LAST_HIT_TIME: 2022-11-07 19:04:21
        EXECUTIONS: 1
     SUM_WAIT_TIME: 295
     MIN_WAIT_TIME: 295
     MAX_WAIT_TIME: 295
     SUM_EXEC_TIME: 8620
     MIN_EXEC_TIME: 8620
     MAX_EXEC_TIME: 8620
     SUM_ROWS_SENT: 0
     MIN_ROWS_SENT: 0
     MAX_ROWS_SENT: 0
 SUM_ROWS_EXAMINED: 0
 MIN_ROWS_EXAMINED: 0
 MAX_ROWS_EXAMINED: 0
 SUM_ROWS_AFFECTED: 0
 MIN_ROWS_AFFECTED: 0
 MAX_ROWS_AFFECTED: 0
  SUM_LOGICAL_READ: 761
  MIN_LOGICAL_READ: 761
  MAX_LOGICAL_READ: 761
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             EXTRA: NULL