表结构说明

本文介绍了SQL Trace功能使用的mysql.sql_sharing表和information_schema.sql_sharing表的表结构和相关字段说明。

mysql.sql_sharing

MySQL库下一张位于InnoDB引擎的系统表sql_sharing,用于保存需要跟踪的指定的SQL语句。其表结构如下:

说明

系统启动时会自动创建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语句的SQL ID。

Schema_name

执行SQL语句所在的Schema的名称。

Type

该记录被哪些功能引用。

Digest_text

模板化后的SQL语句。

Plan_id

执行计划ID。

Plan

执行计划。

Version

该记录在系统内部的版本号。

Create_time

该记录的插入时间。

Update_time

该记录的更新时间。

Extra_info

系统记录的其他信息。

information_schema.sql_sharing

位于information_schema库下的内存表sql_sharing,用于记录由SQL Trace跟踪的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;

各字段说明如下:

字段

描述

TYPE

记录的类型。取值如下:

  • SQL:模板化SQL语句。

  • PLAN:执行模板化SQL语句时生成的执行计划。

SQL_ID

模板化SQL语句的SQL ID。

SCHEMA_NAME

执行SQL语句所在的Schema的名称。

DIGEST_TEXT

模板化后的SQL语句。

PLAN_ID

执行计划ID。

PLAN

执行计划。

PLAN_EXTRA

其他信息。如表的访问方式(全表扫描、索引范围、等值访问)和是否使用PREPARE协议执行。

ERROR_CODE

错误码。

REF_BY

引用SQL语句或执行计划的功能。取值如下:

  • SQL_TRACE:跟踪所有的SQL语句。

  • SQL_TRACE(DEMAND):跟踪特定的SQL语句。

FIRST_LOAD_TIME

SQL语句或执行计划第一次记录到内存中的时间。

LAST_HIT_TIME

该SQL语句或执行计划最近一次被命中的时间。

EXECUTIONS

执行模板化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

最多物理异步读次数。

EXTRA

其他信息。