prepared_statements_instances 详解

Posted by 道行尚浅 on October 5, 2021

系统表介绍

prepared_statements_instances 反映了预编译语句的性能信息

列名 含义
OBJECT_INSTANCE_BEGIN 对象在内存中的地址
STATEMENT_ID 语句编号
STATEMENT_NAME 语句名
SQL_TEXT 语句文本
OWNER_THREAD_ID 创建语句的线程编号
OWNER_EVENT_ID 创建语句的事件编号
OWNER_OBJECT_TYPE 对象类型(如语句是客户端创建则为空,如是例程 返回程序类型)
OWNER_OBJECT_SCHEMA 对象所属模式(同上)
OWNER_OBJECT_NAME 对象名称(同上)
TIMER_PREPARE 预编译时间
COUNT_REPREPARE 语句被内部预编译次数
COUNT_EXECUTE 执行次数
SUM_TIMER_EXECUTE 语句执行总时间
MIN_TIMER_EXECUTE 语句执行最短时间
AVG_TIMER_EXECUTE 语句执行平均时间
MAX_TIMER_EXECUTE 语句执行最长时间
SUM_LOCK_TIME 总锁等待事件
SUM_ERRORS 总报错数量
SUM_WARNINGS 总警告数量
SUM_ROWS_AFFECTED 总涉及的行数
SUM_ROWS_SENT 总语句返回行数
SUM_ROWS_EXAMINED 总在server层检查的行数(不包含在内部存储影响处理的数量)
SUM_CREATED_TMP_DISK_TABLES 总内部创建磁盘临时表的数量
SUM_CREATED_TMP_TABLES 总内部创建临时表的数量
SUM_SELECT_FULL_JOIN 总由于没有索引引起全表连接的数量
SUM_SELECT_FULL_RANGE_JOIN 总在引用表发生大范围扫描的次数
SUM_SELECT_RANGE 总在初始表使用范围方式获取记录的次数
SUM_SELECT_RANGE_CHECK 总判断是否要使用范围扫描的次数
SUM_SELECT_SCAN 总全表扫描次数
SUM_SORT_MERGE_PASSES 总再排序次数
SUM_SORT_RANGE 总范围扫描时按顺序读取记录的次数
SUM_SORT_ROWS 总排序的行数
SUM_SORT_SCAN 总全表扫描是按顺序读取的次数
SUM_NO_INDEX_USED 总标识是否使用索引
SUM_NO_GOOD_INDEX_USED 总标识是否使用好的索引

实例

  • 声明预编译语句

mysql>  prepare dao_sql from  ' select * 
    '> from dao.qb_area  
    '> where id = ? ' ;
Query OK, 0 rows affected (0.00 sec)

  • 声明变量

mysql> set @input_id = 48299 ;
Query OK, 0 rows affected (0.00 sec)

  • 带入变量执行预编译语句

mysql>  execute dao_sql using @input_id ;
+-------+-------+-----------+-------+------+------+---------+
| id    | pid   | name      | level | list | logo | content |
+-------+-------+-----------+-------+------+------+---------+
| 48299 | 48272 | 永城镇    |     4 |    0 |      |         |
+-------+-------+-----------+-------+------+------+---------+
1 row in set (0.00 sec)

mysql> select * from prepared_statements_instances \G ;
*************************** 1. row ***************************
      OBJECT_INSTANCE_BEGIN: 140703267499360
               STATEMENT_ID: 1
             STATEMENT_NAME: dao_sql
                   SQL_TEXT: select * 
from dao.qb_area  
where id = ?
            OWNER_THREAD_ID: 40
             OWNER_EVENT_ID: 178
          OWNER_OBJECT_TYPE: NULL
        OWNER_OBJECT_SCHEMA: NULL
          OWNER_OBJECT_NAME: NULL
              TIMER_PREPARE: 2643712000
            COUNT_REPREPARE: 0
              COUNT_EXECUTE: 1
          SUM_TIMER_EXECUTE: 697576000
          MIN_TIMER_EXECUTE: 697576000
          AVG_TIMER_EXECUTE: 697576000
          MAX_TIMER_EXECUTE: 697576000
              SUM_LOCK_TIME: 156000000
                 SUM_ERRORS: 0
               SUM_WARNINGS: 0
          SUM_ROWS_AFFECTED: 0
              SUM_ROWS_SENT: 1
          SUM_ROWS_EXAMINED: 1
SUM_CREATED_TMP_DISK_TABLES: 0
     SUM_CREATED_TMP_TABLES: 0
       SUM_SELECT_FULL_JOIN: 0
 SUM_SELECT_FULL_RANGE_JOIN: 0
           SUM_SELECT_RANGE: 0
     SUM_SELECT_RANGE_CHECK: 0
            SUM_SELECT_SCAN: 0
      SUM_SORT_MERGE_PASSES: 0
             SUM_SORT_RANGE: 0
              SUM_SORT_ROWS: 0
              SUM_SORT_SCAN: 0
          SUM_NO_INDEX_USED: 0
     SUM_NO_GOOD_INDEX_USED: 0
1 row in set (0.01 sec)