开发指南—DAL语句—SHOW—慢SQL相关

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 本文介绍了慢SQL相关的SHOW语句。

SHOW [FULL] SLOW [WHERE expr] [limit expr]

执行时间超过1秒的SQL语句是慢SQL,逻辑慢SQL是指应用发送到PolarDB-X的慢SQL。

  • SHOW SLOW: 查看自PolarDB-X启动或者上次执行CLEAR SLOW以来最慢的100条逻辑慢SQL;
    说明 此处记录的是最慢的100个,缓存在PolarDB-X 系统中,当实例重启或者执行CLEAR SLOW时会丢失。
  • SHOW FULL SLOW: 查看实例启动以来记录的所有逻辑慢SQL(持久化到PolarDB-X的内置数据库中)。该记录数有一个上限(具体数值跟购买的实例规格相关),PolarDB-X会滚动删除比较老的慢SQL语句。实例的规格为4C4G时,最多记录10000条慢SQL语句(包括逻辑慢SQL和物理慢SQL);实例的规格为8C8G时,最多记录20000条慢SQL语句(包括逻辑慢SQL和物理慢SQL),其它规格依此类推。

示例:


mysql> show slow where execute_time > 1000 limit 1;
+-----------+---------------------+--------------+------------+-----------+
| HOST      | START_TIME          | EXECUTE_TIME | AFFECT_ROW | SQL       |
+-----------+---------------------+--------------+------------+-----------+
| 127.0.0.1 | 2016-03-16 13:02:57 |         2785 |          7 | show rule |
+-----------+---------------------+--------------+------------+-----------+
1 row in set (0.02 sec)

重要列详解:

  • HOST:来源IP;
  • START_TIME:执行开始时间;
  • EXECUTE_TIME:执行时间;
  • AFFECT_ROW:对于DML语句是影响行数;对于查询语句是返回的记录数。

SHOW [FULL] PHYSICAL\_SLOW [WHERE expr] [limit expr]

执行时间超过1秒的SQL语句是慢SQL,物理慢SQL是指PolarDB-X发送到RDS的慢SQL。

  • SHOW PHYSICAL_SLOW: 查看自PolarDB-X启动或者上次执行CLEAR SLOW以来最慢的100条物理慢SQL(注意,这里记录的是最慢的100个,缓存在PolarDB-X系统中,当实例重启或者执行CLEAR SLOW时会丢失);
  • SHOW FULL PHYSICAL_SLOW: 查看实例启动以来记录的所有物理慢SQL(持久化到PolarDB-X的内置数据库中)。该记录数有一个上限(具体数值跟购买的实例规格相关),PolarDB-X会滚动删除比较老的慢SQL语句。实例的规格如果是4C4G,最多记录10000条慢SQL语句(包括逻辑慢SQL和物理慢SQL);实例的规格如果是8C8G,最多记录20000条慢SQL语句(包括逻辑慢SQL和物理慢SQL),其它规格依此类推。

示例:


mysql> show physical_slow;
+----------------+-----------------------------------+---------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
| GROUP_NAME     | DBKEY_NAME                        | START_TIME          | EXECUTE_TIME | SQL_EXECUTE_TIME | GETLOCK_CONNECTION_TIME | CREATE_CONNECTION_TIME | AFFECT_ROW | SQL             |
+----------------+-----------------------------------+---------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
| TDDL5_00_GROUP | db218249098_sqa_zmf_tddl5_00_3309 | 2016-03-16 13:05:38 |         1057 |             1011 |                       0 |                      0 |          1 | select sleep(1) |
+----------------+-----------------------------------+---------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
1 row in set (0.01 sec)

重要列详解:

  • GROUP_NAME:数据库分组;
  • START_TIME:执行开始时间;
  • EXECUTE_TIME:执行时间;
  • AFFECT_ROW:对于DML语句是影响行数;对于查询语句是返回的记录数。

CLEAR SLOW

清空自PolarDB-X启动或者上次执行CLEAR SLOW以来最慢的100条逻辑慢SQL和最慢的100条物理慢SQL。

示例:


mysql> clear slow;
Query OK, 0 rows affected (0.00 sec)


说明SHOW SLOWSHOW PHYSICAL_SLOW展示的是最慢的100个SQL,如果长时间未执行CLEAR SLOW,可能是非常老的SQL,一般执行过SQL优化之后,建议执行CLEAR SLOW后,等待系统运行一段时间,再查看慢SQL的优化效果。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
SQL BI 数据库
达梦(DM) SQL日期操作及分析函数
讲述DM 数据库中如何实现各种日期相关的运算以及如何利用分析函数 lead() over() 进行范围问题的处理
|
SQL Serverless 数据库
|
SQL 机器学习/深度学习 自然语言处理
达梦(DM) SQL函数相关
讲述 DM 数据库函数
|
SQL 数据库
达梦(DM) SQL数据及字符串操作
继续讲述DM数据库Sql操作
|
SQL 数据库
达梦(DM) SQL查询及联合查询
继续讲解达梦(DM)数据库SQL查询操作
|
2月前
|
SQL
开发指南057-执行SQL返回结果集
业务实践中除了返回实体类外,经常需要通过SQL语句返回结果集
|
2月前
|
SQL 安全
开发指南038-防SQL注入
这个是检查某个字符串是否含注入的SQL,为基本函数
|
5月前
|
SQL 存储 数据库
MySQL设计规约问题之性能分析工具如Sql explain、show profile和mysqlsla在数据库性能优化中有什么作用
MySQL设计规约问题之性能分析工具如Sql explain、show profile和mysqlsla在数据库性能优化中有什么作用
|
6月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
81 0
|
SQL 关系型数据库 MySQL
达梦(DM) SQL基础操作
讲述达梦 DM数据库 SQL基础查询语句