All Products
Search
Document Center

PolarDB:Schema

Last Updated:Mar 28, 2026

SQL Trace uses two tables to store and expose tracking data: mysql.sql_sharing persists the SQL statements registered for tracking, and information_schema.sql_sharing holds real-time execution statistics for those statements and their execution plans. Both tables are created automatically at startup.

mysql.sql_sharing

mysql.sql_sharing is an InnoDB system table in the mysql database. It stores the templated SQL statements registered for tracking.

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;
FieldDescription
IdAuto-increment row ID.
Sql_idID of the templated SQL statement.
Schema_nameSchema on which the SQL statements are executed.
TypeFeature that uses the record.
Digest_textContent of the templated SQL statement.
Plan_idID of the execution plan.
PlanName of the execution plan.
VersionVersion number of the record.
Create_timeTime when the record was inserted.
Update_timeTime when the record was last updated.
Extra_infoAdditional information recorded by the system.

information_schema.sql_sharing

information_schema.sql_sharing is a MEMORY table that records real-time execution statistics for tracked SQL statements and their execution plans. Each row represents either a tracked SQL statement (TYPE = SQL) or one of its execution plans (TYPE = PLAN).

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;

Field descriptions

Identification fields

FieldDescription
TYPERecord type. SQL: the templated SQL statement. PLAN: an execution plan generated for that statement.
SQL_IDID of the templated SQL statement.
SCHEMA_NAMESchema on which the SQL statements are executed.
DIGEST_TEXTContent of the templated SQL statement.
PLAN_IDID of the execution plan.
PLANName of the execution plan.
PLAN_EXTRAAdditional information, such as which method is used to access the table and whether to use the prepared statement protocol. Access methods include full table scan, index range scan, and same index access.
ERROR_CODEError code.
REF_BYFeature that registered this statement or plan. SQL_TRACE: all statements are tracked. SQL_TRACE(DEMAND): only specified statements are tracked.

Timestamp fields

FieldDescription
FIRST_LOAD_TIMETime when the statement or plan was first recorded in memory.
LAST_HIT_TIMETime when the statement or plan was last executed.

Execution statistics

Each metric is captured as three aggregates: SUM_* (cumulative total), MIN_* (minimum across all executions), and MAX_* (maximum across all executions).

MetricFieldsUnit
Execution countEXECUTIONS
Wait timeSUM_WAIT_TIME, MIN_WAIT_TIME, MAX_WAIT_TIMEMicroseconds
Execution timeSUM_EXEC_TIME, MIN_EXEC_TIME, MAX_EXEC_TIMEMicroseconds
Rows returnedSUM_ROWS_SENT, MIN_ROWS_SENT, MAX_ROWS_SENT
Rows examinedSUM_ROWS_EXAMINED, MIN_ROWS_EXAMINED, MAX_ROWS_EXAMINED
Rows affectedSUM_ROWS_AFFECTED, MIN_ROWS_AFFECTED, MAX_ROWS_AFFECTED
Logical readsSUM_LOGICAL_READ, MIN_LOGICAL_READ, MAX_LOGICAL_READ
Physical synchronous readsSUM_PHY_SYNC_READ, MIN_PHY_SYNC_READ, MAX_PHY_SYNC_READ
Physical asynchronous readsSUM_PHY_ASYNC_READ, MIN_PHY_ASYNC_READ, MAX_PHY_ASYNC_READ
Additional informationEXTRA

Example

The following example shows how SQL Trace populates information_schema.sql_sharing when loose_sql_trace_type is set to ALL.

Run the setup statements:

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;

Output:

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

Query the trace data:

SELECT * FROM information_schema.sql_sharing;

Output:

*************************** 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

The output shows three tracked SQL statements (rows 1, 3, and 4 with TYPE = SQL) and one execution plan (row 2 with TYPE = PLAN). The SQL_ID links a SQL row to its PLAN rows — both row 1 and row 2 share SQL_ID: 83qmtgr8d6rwn.