Mars‘s docMars‘s doc
🏠主页
  • 🍻Activiti

    • 01-核心API
    • 02-监听
    • 03-数据库表介绍
    • 04-常见问题
  • 📊JasperReport

    • 01-JaspersoftStudio工具使用
    • 02-JasperReport集成
    • 03-JasperReport常见问题
  • 🎬JavaScript

    • 01-Node
    • 02-VuePress
    • 03-Vue组件高度宽度
    • 04-显示器和屏幕高度
    • 05-页面地址
    • 06-归纳总结
  • 🍵Java

    • 01-Java8特性
    • 02-多线程
    • 03-Jar包
    • 04-Util
    • 05-validation注解
    • 06-反编译
    • 07-try-with-resource
    • 08-ThreadLocal内存泄漏
    • 09-Jvm
    • 10-Excel
    • 11-Lombook
    • 12-条件注解
    • 13-WebMvcConfigurationSupport
    • 14-WebMvcConfigurer
    • 15-分布式锁
    • 16-Caffeine
    • 17-DynamicDatasource
    • 18-MybatisPlus
    • 19-Swagger
    • 20-BeanPostProcessor
    • 21-Bean初始化
    • 22-ConfigurableApplicationContext
    • 23-常用注解
    • 24-ApplicationListener
    • 25-JavaDoc
    • 26-Spring-Cache
    • 27-StopWatch耗时统计
    • 28-Word
    • 29-Druid
    • 30-OpenFeign
    • 31-反射相关
    • 32-Fastjson
    • 33-Yaml
  • 💻Linux

    • 01-Linux常用命令
    • 02-Linux脚本汇总
    • 03-Yum源
    • 04-Debian
    • 05-Ubuntu
  • 🐋Docker

    • 01-Docker常用命令
    • 02-Dockerfile
    • 03-Swarm
    • 04-Stack
    • 05-Docker常见问题
    • 06-DockerCompose
    • 07-Docker应用用汇总
    • 08-Kasm
    • 09-Rustdesk
  • 🌐Nginx

    • 01-Nginx
  • 📈数据库

    • 01-Mysql
    • 02-Clickhouse
    • 03-Doris
    • 04-DRDS
  • 📉Kettle

    • 01-入门
    • 02-js脚本
    • 03-优化
    • 04-连接组件
    • 05-参数
    • 06-工具
    • 07-日志
    • 08-流程组件
    • 09-输入组件
    • 10-输出组件
    • 11-转换组件
    • 12-驱动
  • 🎨Git

    • 01-Git使用
  • 📝Maven

    • 01-Maven使用
    • 02-Maven配置
  • 🎯Jenkins

    • 01-Jenkins部署
    • 02-Jenkisn常见问题
  • 01-设计模式之禅
  • 02-领域驱动设计
  • 03-JavaScript高级程序设计
  • 🍓树莓派

    • 01-RaspBerry
  • 📘Markdown

    • 01-Markdown语法
    • 02-Markdown表情
    • 03-Markdown代码块语言对照
  • 📇其他

    • 01-HTML XML 转义
    • 02-GitHub
    • 03-Idea
    • 04-Nmon
    • 05-Windows
    • 06-WinSw
GitHub
🏠主页
  • 🍻Activiti

    • 01-核心API
    • 02-监听
    • 03-数据库表介绍
    • 04-常见问题
  • 📊JasperReport

    • 01-JaspersoftStudio工具使用
    • 02-JasperReport集成
    • 03-JasperReport常见问题
  • 🎬JavaScript

    • 01-Node
    • 02-VuePress
    • 03-Vue组件高度宽度
    • 04-显示器和屏幕高度
    • 05-页面地址
    • 06-归纳总结
  • 🍵Java

    • 01-Java8特性
    • 02-多线程
    • 03-Jar包
    • 04-Util
    • 05-validation注解
    • 06-反编译
    • 07-try-with-resource
    • 08-ThreadLocal内存泄漏
    • 09-Jvm
    • 10-Excel
    • 11-Lombook
    • 12-条件注解
    • 13-WebMvcConfigurationSupport
    • 14-WebMvcConfigurer
    • 15-分布式锁
    • 16-Caffeine
    • 17-DynamicDatasource
    • 18-MybatisPlus
    • 19-Swagger
    • 20-BeanPostProcessor
    • 21-Bean初始化
    • 22-ConfigurableApplicationContext
    • 23-常用注解
    • 24-ApplicationListener
    • 25-JavaDoc
    • 26-Spring-Cache
    • 27-StopWatch耗时统计
    • 28-Word
    • 29-Druid
    • 30-OpenFeign
    • 31-反射相关
    • 32-Fastjson
    • 33-Yaml
  • 💻Linux

    • 01-Linux常用命令
    • 02-Linux脚本汇总
    • 03-Yum源
    • 04-Debian
    • 05-Ubuntu
  • 🐋Docker

    • 01-Docker常用命令
    • 02-Dockerfile
    • 03-Swarm
    • 04-Stack
    • 05-Docker常见问题
    • 06-DockerCompose
    • 07-Docker应用用汇总
    • 08-Kasm
    • 09-Rustdesk
  • 🌐Nginx

    • 01-Nginx
  • 📈数据库

    • 01-Mysql
    • 02-Clickhouse
    • 03-Doris
    • 04-DRDS
  • 📉Kettle

    • 01-入门
    • 02-js脚本
    • 03-优化
    • 04-连接组件
    • 05-参数
    • 06-工具
    • 07-日志
    • 08-流程组件
    • 09-输入组件
    • 10-输出组件
    • 11-转换组件
    • 12-驱动
  • 🎨Git

    • 01-Git使用
  • 📝Maven

    • 01-Maven使用
    • 02-Maven配置
  • 🎯Jenkins

    • 01-Jenkins部署
    • 02-Jenkisn常见问题
  • 01-设计模式之禅
  • 02-领域驱动设计
  • 03-JavaScript高级程序设计
  • 🍓树莓派

    • 01-RaspBerry
  • 📘Markdown

    • 01-Markdown语法
    • 02-Markdown表情
    • 03-Markdown代码块语言对照
  • 📇其他

    • 01-HTML XML 转义
    • 02-GitHub
    • 03-Idea
    • 04-Nmon
    • 05-Windows
    • 06-WinSw
GitHub
  • 🏫技术相关

    • 🍻Activiti

      • 01-核心API
      • 02-监听
      • 03-数据库表介绍
      • 04-常见问题
    • 📊JasperReport

      • 01-JaspersoftStudio工具使用
      • 02-JasperReport集成
      • 03-JasperReport常见问题
    • 🎬JavaScript

      • 01-Node
      • 02-VuePress
      • 03-Vue组件高度宽度
      • 04-显示器和屏幕高度
      • 05-页面地址
      • 06-归纳总结
    • 🍵Java

      • 01-Java8特性
      • 02-多线程
      • 03-Jar包
      • 04-Util
      • 05-validation注解
      • 06-反编译
      • 07-try-with-resource
      • 08-ThreadLocal内存泄漏
      • 09-Jvm
      • 10-Excel
      • 11-Lombook
      • 12-条件注解
      • 13-WebMvcConfigurationSupport
      • 14-WebMvcConfigurer
      • 15-分布式锁
      • 16-Caffeine
      • 17-DynamicDatasource
      • 18-MybatisPlus
      • 19-Swagger
      • 20-BeanPostProcessor
      • 21-Bean初始化
      • 22-ConfigurableApplicationContext
      • 23-常用注解
      • 24-ApplicationListener
      • 25-JavaDoc
      • 26-Spring-Cache
      • 27-StopWatch耗时统计
      • 28-Word
      • 29-Druid
      • 30-OpenFeign
      • 31-反射相关
      • 32-Fastjson
      • 33-Yaml
  • 🏢服务器

    • 💻Linux

      • 01-Linux常用命令
      • 02-Linux脚本汇总
      • 03-Yum源
      • 04-Debian
      • 05-Ubuntu
    • 🐋Docker

      • 01-Docker常用命令
      • 02-Dockerfile
      • 03-Swarm
      • 04-Stack
      • 05-Docker常见问题
      • 06-DockerCompose
      • 07-Docker应用用汇总
      • 08-Kasm
      • 09-Rustdesk
    • 🌐Nginx

      • 01-Nginx
  • 🏩数据相关

    • 📈数据库

      • 01-Mysql
      • 02-Clickhouse
      • 03-Doris
      • 04-DRDS
    • 📉Kettle

      • 01-入门
      • 02-js脚本
      • 03-优化
      • 04-连接组件
      • 05-参数
      • 06-工具
      • 07-日志
      • 08-流程组件
      • 09-输入组件
      • 10-输出组件
      • 11-转换组件
      • 12-驱动
  • 🏬管理工具

    • 🎨Git

      • 01-Git使用
    • 📝Maven

      • 01-Maven使用
      • 02-Maven配置
    • 🎯Jenkins

      • 01-Jenkins部署
      • 02-Jenkisn常见问题
  • 🏯书籍笔记

    • 01-设计模式之禅
    • 02-领域驱动设计
    • 03-JavaScript高级程序设计
  • 🏦其他

    • 🍓树莓派

      • 01-RaspBerry
    • 📘Markdown

      • 01-Markdown语法
      • 02-Markdown表情
      • 03-Markdown代码块语言对照
    • 📇其他

      • 01-HTML XML 转义
      • 02-GitHub
      • 03-Idea
      • 04-Nmon
      • 05-Windows
      • 06-WinSw

DRDS

目录

  • SHOW HELP
  • EXPLAIN
    • 语法
    • EXPLAIN语句
    • EXPLAIN LOGICALVIEW语句
    • EXPLAIN EXECUTE语句
    • EXPLAIN SHARDING语句
    • EXPLAIN COST语句
    • EXPLAIN ANALYZE语句
    • EXPLAIN PHYSICAL语句
    • EXPLAIN ADVISOR语句
  • CHECK TABLE
    • 语法
    • 示例
  • 逻辑表的拓扑分布
    • 语法
    • 示例
  • 分库分表键集合
  • 广播表列表
  • SHOW DATASOURCES
  • SHOW NODE
  • 慢SQL相关
    • 语法
  • 统计信息
    • SHOW [FULL] STATS
    • SHOW DB STATUS
    • SHOW TABLE STATUS
    • SHOW TABLE INFO [name]
  • 分析数据分布不均衡
    • 分库级别的数据倾斜
  • 索引触发全表代价

SHOW HELP

STATEMENTDESCRIPTION_CNDESCRIPTIONEXAMPLE
show rule查看所有表分片信息Report all table rule
show rule from TABLE查看具体表分片信息Report table ruleshow rule from user
show full rule from TABLE查看具体表详细分片信息Report table full ruleshow full rule from user
show topology from TABLE查看具体物理库表Report table physical topologyshow topology from user
show partitions from TABLE查看具体表分片列Report table dbPartition or tbPartition columnsshow partitions from user
show broadcasts查看所有广播表Report all broadcast tables
show datasources查看所有分库连接池信息Report all partition db threadPool info
show node查看所有分库主从读信息Report master/slave read status
show slow查看DRDS监控下的慢SQLReport top 100 slow sql
show physical_slow查看RDS监控下的慢SQLReport top 100 physical slow sql
clear slow清空慢SQLClear slow data
trace SQL跟踪慢SQL不执行Start trace sql, use show trace to print profiling datatrace select count(*) from user; show trace
show trace显示跟踪Report sql execute profiling info
explain SQL执行计划Report sql plan infoexplain select count(*) from user
explain detail SQL详细执行计划Report sql detail plan infoexplain detail select count(*) from user
explain execute SQL物理节点执行计划Report sql on physical db plan infoexplain execute select count(*) from user
show sequencesReport all sequences status
create sequence NAME [start with COUNT]Create sequencecreate sequence test start with 0
alter sequence NAME [start with COUNT]Alter sequencealter sequence test start with 100000
drop sequence NAMEDrop sequencedrop sequence test
show db status查看物理节点空间信息Report size of each physical databaseshow db status
show full db status查看物理节点表占用空间信息Report size of each physical table, support likeshow full db status like user
show ds查看简单分库信息Report simple partition db infoshow ds
show connection查看所有连接信息Report all connections infoshow connection
show trans查看所有事物信息Report trans infoshow trans/show trans limit 2
show full trans查看所有事物详细信息Report all trans infoshow full trans/show full trans limit 2
show stats查看请求信息的统计信息Report all requst statsshow stats
show stc查看所有分库的请求信息Report all requst stats by partitionshow stc
show htc查看所有分库的CPU/内存信息Report the CPU/LOAD/MEM/NET/GC statsshow htc
show outlinesReport outlinesshow outlines

EXPLAIN

语法

EXPLAIN
{LOGICALVIEW | LOGIC | SIMPLE | DETAIL | EXECUTE | PHYSICAL | OPTIMIZER | SHARDING
 | COST | ANALYZE | BASELINE | JSON_PLAN | ADVISOR} 
 {SELECT statement | DELETE statement | INSERT statement | REPLACE statement| UPDATE statement}

EXPLAIN语句

展示基本的SQL执行计划,该执行计划是算子组成,主要体现SQL在CN上的整个执行过程。

EXPLAIN select count(*) from lineitem group by L_ORDERKEY;
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| LOGICAL EXECUTIONPLAN                                                                                                                                                              |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Project(count(*)="count(*)")                                                                                                                                                       |
|   HashAgg(group="L_ORDERKEY", count(*)="SUM(count(*))")                                                                                                                            |
|     Gather(concurrent=true)                                                                                                                                                        |
|       LogicalView(tables="[000000-000003].lineitem_[00-15]", shardCount=16, sql="SELECT `L_ORDERKEY`, COUNT(*) AS `count(*)` FROM `lineitem` AS `lineitem` GROUP BY `L_ORDERKEY`") |
| HitCache:false                                                                                                                                                                     |                                                                                                                                                               |
| TemplateId: 5819c807                                                                                                                                                               |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

其中,HitCache标记该查询是否命中PlanCache,取值为falseortrue;TemplateId表示对该计划的标识,具有全局唯一性。

EXPLAIN LOGICALVIEW语句

展示基本的SQL执行计划,该执行计划是算子组成,主要体现SQL在CN上的整个执行过程。

EXPLAIN LOGICALVIEW select count(*) from lineitem group by L_ORDERKEY;
+----------------------------------------------------------+
| LOGICAL EXECUTIONPLAN                                    |
+----------------------------------------------------------+
| Project(count(*)="count(*)")                             |
|   HashAgg(group="L_ORDERKEY", count(*)="SUM(count(*))")  |
|     Gather(concurrent=true)                              |
|       LogicalView                                        |
|         MysqlAgg(group="L_ORDERKEY", count(*)="COUNT()") |
|           MysqlTableScan(name=[ads, lineitem])           |
| HitCache:true                                            |
| Source:PLAN_CACHE                                        |
| TemplateId: 5819c807

EXPLAIN EXECUTE语句

表示下推SQL在MySQL的执行情况,这个语句和MySQL的explain语句同义。通过该语句可以查看下推SQL在DN上有没有使用索引,有没有做全表扫描。

EXPLAIN EXECUTE select  count(*) from lineitem group by L_ORDERKEY;
+----+-------------+----------+------------+-------+---------------+---------+---------+-----+------+----------+----------------------------------------------+
| id | select_type | table    | partitions | type  | possible_keys | key     | key_len | ref | rows | filtered | Extra                                        |
+----+-------------+----------+------------+-------+---------------+---------+---------+-----+------+----------+----------------------------------------------+
| 1  | SIMPLE      | lineitem | NULL       | index | PRIMARY       | PRIMARY | 8       | NULL | 1    | 100      | Using index; Using temporary; Using filesort |
+----+-------------+----------+------------+-------+---------------+---------+---------+-----+------+----------+----------------------------------------------+
1 row in set (0.24 sec)

EXPLAIN SHARDING语句

展示当前查询在DN上扫描的物理分片情况。

EXPLAIN SHARDING  select  count(*) from lineitem group by L_ORDERKEY;
+---------------+----------------------------------+-------------+-----------+-----------+
| LOGICAL_TABLE | SHARDING                         | SHARD_COUNT | BROADCAST | CONDITION |
+---------------+----------------------------------+-------------+-----------+-----------+
| lineitem      | [000000-000003].lineitem_[00-15] | 16          | false     |           |
+---------------+----------------------------------+-------------+-----------+-----------+
1 row in set (0.04 sec)

EXPLAIN COST语句

相对于EXPLAIN语句,除了展示执行计划以外,还会显示各个算子基于统计信息估算的代价,以及这条查询被优化器识别的WORKLOAD。

EXPLAIN COST select  count(*) from lineitem group by L_ORDERKEY;
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| LOGICAL EXECUTIONPLAN                                                                                                                                                                                                                                                                                            |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Project(count(*)="count(*)"): rowcount = 2508.0, cumulative cost = value = 2.4867663E7, cpu = 112574.0, memory = 88984.0, io = 201.0, net = 4.75, id = 182                                                                                                                                                       |
|   HashAgg(group="L_ORDERKEY", count(*)="SUM(count(*))"): rowcount = 2508.0, cumulative cost = value = 2.4867662E7, cpu = 112573.0, memory = 88984.0, io = 201.0, net = 4.75, id = 180                                                                                                                            |
|     Gather(concurrent=true): rowcount = 2508.0, cumulative cost = value = 2.4860069E7, cpu = 105039.0, memory = 29796.0, io = 201.0, net = 4.75, id = 178                                                                                                                                                        |
|       LogicalView(tables="[000000-000003].lineitem_[00-15]", shardCount=16, sql="SELECT `L_ORDERKEY`, COUNT(*) AS `count(*)` FROM `lineitem` AS `lineitem` GROUP BY `L_ORDERKEY`"): rowcount = 2508.0, cumulative cost = value = 2.4860068E7, cpu = 105038.0, memory = 29796.0, io = 201.0, net = 4.75, id = 109 |
| HitCache:true                                                                                                                                                                                                                                                                                                    |
| Source:PLAN_CACHE                                                                                                                                                                                                                                                                                                |
| WorkloadType: TP                                                                                                                                                                                                                                                                                                 |
| TemplateId: 5819c807

EXPLAIN ANALYZE语句

相对于explain cost语句,除了显示各个算子基于统计信息估算的代价以外,该语句可以收集真实运行过程中算子输出的rowCount等信息。

EXPLAIN ANALYZE  select  count(*) from lineitem group by L_ORDERKEY;
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| LOGICAL EXECUTIONPLAN                                                                                                                                                                                                                                                                                                                                                                                    |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Project(count(*)="count(*)"): rowcount = 2508.0, cumulative cost = value = 2.4867663E7, cpu = 112574.0, memory = 88984.0, io = 201.0, net = 4.75, actual time = 0.001 + 0.000, actual rowcount = 2506, actual memory = 0, instances = 1, id = 182                                                                                                                                                        |
|   HashAgg(group="L_ORDERKEY", count(*)="SUM(count(*))"): rowcount = 2508.0, cumulative cost = value = 2.4867662E7, cpu = 112573.0, memory = 88984.0, io = 201.0, net = 4.75, actual time = 0.000 + 0.000, actual rowcount = 2506, actual memory = 0, instances = 1, id = 180                                                                                                                             |
|     Gather(concurrent=true): rowcount = 2508.0, cumulative cost = value = 2.4860069E7, cpu = 105039.0, memory = 29796.0, io = 201.0, net = 4.75, actual time = 0.000 + 0.000, actual rowcount = 0, actual memory = 0, instances = 0, id = 178                                                                                                                                                            |
|       LogicalView(tables="[000000-000003].lineitem_[00-15]", shardCount=16, sql="SELECT `L_ORDERKEY`, COUNT(*) AS `count(*)` FROM `lineitem` AS `lineitem` GROUP BY `L_ORDERKEY`"): rowcount = 2508.0, cumulative cost = value = 2.4860068E7, cpu = 105038.0, memory = 29796.0, io = 201.0, net = 4.75, actual time = 0.030 + 0.025, actual rowcount = 10000, actual memory = 0, instances = 0, id = 109 |
| HitCache:true                                                                                                                                                                                                                                                                                                                                                                                            |
| Source:PLAN_CACHE                                                                                                                                                                                                                                                                                                                                                                                        |
| TemplateId: 5819c807                                                                                                                                                                                                                                                                                                                                                                                     |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
7 rows in set (1.08 sec)

EXPLAIN PHYSICAL语句

展示查询在运行过程中执行模式、各个执行片段(Fragment)的依赖关系和并行度。该查询被识别为单机单线程计划模式(TP_LOCAL),执行计划被分为三个片段Fragment-0、Fragment-1和Fragment-2,先做预聚合再做最终的聚合计算,每个片段的执行度可以不同。

EXPLAIN PHYSICAL select  count(*) from lineitem group by L_ORDERKEY;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| PLAN                                                                                                                                                                           |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ExecutorMode: TP_LOCAL                                                                                                                                                         |
| Fragment 0 dependency: [] parallelism: 4                                                                                                                                       |
| Gather(concurrent=true)                                                                                                                                                        |
|   LogicalView(tables="[000000-000003].lineitem_[00-15]", shardCount=16, sql="SELECT `L_ORDERKEY`, COUNT(*) AS `count(*)` FROM `lineitem` AS `lineitem` GROUP BY `L_ORDERKEY`") |
| Fragment 1 dependency: [] parallelism: 8                                                                                                                                       |
| LocalBuffer                                                                                                                                                                    |
|   RemoteSource(sourceFragmentIds=[0], type=RecordType(INTEGER L_ORDERKEY, BIGINT count(*)))                                                                                    |
| Fragment 2 dependency: [0, 1] parallelism: 8                                                                                                                                   |
| Project(count(*)="count(*)")                                                                                                                                                   |
|   HashAgg(group="L_ORDERKEY", count(*)="SUM(count(*))")                                                                                                                        |
|     RemoteSource(sourceFragmentIds=[1], type=RecordType(INTEGER L_ORDERKEY, BIGINT count(*)))                                                                                  |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
11 rows in set (0.10 sec)

EXPLAIN ADVISOR语句

基于统计信息,分析当前查询的执行计划,给用户推荐可以加速查询的全局二级索引。

EXPLAIN ADVISOR select  count(*) from lineitem group by L_ORDERKEY \G;
*************************** 1. row ***************************
IMPROVE_VALUE: 4.4%
  IMPROVE_CPU: 340.8%
  IMPROVE_MEM: 0.0%
   IMPROVE_IO: 1910.0%
  IMPROVE_NET: 0.0%
 BEFORE_VALUE: 2.48676627E7
   BEFORE_CPU: 112573.7
   BEFORE_MEM: 88983.8
    BEFORE_IO: 201
   BEFORE_NET: 4.7
  AFTER_VALUE: 2.38256249E7
    AFTER_CPU: 25536
    AFTER_MEM: 88983.8
     AFTER_IO: 10
    AFTER_NET: 4.7
 ADVISE_INDEX: ALTER TABLE `ads`.`lineitem` ADD GLOBAL INDEX `__advise_index_gsi_lineitem_L_ORDERKEY`(`L_ORDERKEY`) DBPARTITION BY HASH(`L_ORDERKEY`) TBPARTITION BY HASH(`L_ORDERKEY`) TBPARTITIONS 4;
     NEW_PLAN:
Project(count(*)="count(*)")
  HashAgg(group="L_ORDERKEY", count(*)="SUM(count(*))")
    Gather(concurrent=true)
      IndexScan(tables="[000000-000003].lineitem__what_if_gsi_L_ORDERKEY_[00-15]", shardCount=16, sql="SELECT `L_ORDERKEY`, COUNT(*) AS `count(*)` FROM `lineitem__what_if_gsi_L_ORDERKEY` AS `lineitem__what_if_gsi_L_ORDERKEY` GROUP BY `L_ORDERKEY`")

         INFO: GLOBAL_INDEX
1 row in set (0.13 sec)

CHECK TABLE

CHECK TABLE用于对数据表进行检查,主要用于DDL建表失败的情形。

  • 对于拆分表,检查底层物理分表是否有缺失的情况,底层的物理分表的列和索引是否一致;
  • 对于单库单表,检查表是否存在。

语法

CHECK TABLE tbl_name

示例

CHECK TABLE tddl_mgr_log;
+------------------------+-------+----------+----------+
| TABLE                  | OP    | MSG_TYPE | MSG_TEXT |
+------------------------+-------+----------+----------+
| TDDL5_APP.tddl_mgr_log | check | status   | OK       |
+------------------------+-------+----------+----------+
1 row in set (0.56 sec)
CHECK TABLE tddl_mg;
+-------------------+-------+----------+----------------------------------------+
| TABLE             | OP    | MSG_TYPE | MSG_TEXT                               |
+-------------------+-------+----------+----------------------------------------+
| TDDL5_APP.tddl_mg | check | Error    | Table 'tddl5_00.tddl_mg' doesn't exist |
+-------------------+-------+----------+----------------------------------------+
1 row in set (0.02 sec)

逻辑表的拓扑分布

查看指定逻辑表的拓扑分布,展示该逻辑表保存在哪些分库中,每个分库下包含哪些分表。

语法

SHOW PARTITIONS FROM tablename

示例

mysql> SHOW TOPOLOGY FROM test_table; 
+-----+------------------------------------+---------------------+
| ID  | GROUP_NAME                         | TABLE_NAME          |
+-----+------------------------------------+---------------------+
|   0 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_000 |
|   1 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_001 |
|   2 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_002 |
|   3 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_003 |
|   4 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_004 |
|   5 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_005 |
|   6 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_006 |
|   7 | DB_1631610412546HSWK_0LNF_0000 | test_table_Oenl_007 |
|   8 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_008 |
|   9 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_009 |
|  10 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_010 |
|  11 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_011 |
|  12 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_012 |
|  13 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_013 |
|  14 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_014 |
|  15 | DB_1631610412546HSWK_0LNF_0001 | test_table_Oenl_015 |
|  16 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_016 |
|  17 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_017 |
|  18 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_018 |
|  19 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_019 |
|  20 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_020 |
|  21 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_021 |
|  22 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_022 |
|  23 | DB_1631610412546HSWK_0LNF_0002 | test_table_Oenl_023 |
|  24 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_024 |
|  25 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_025 |
|  26 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_026 |
|  27 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_027 |
|  28 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_028 |
|  29 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_029 |
|  30 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_030 |
|  31 | DB_1631610412546HSWK_0LNF_0003 | test_table_Oenl_031 |
|  32 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_032 |
|  33 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_033 |
|  34 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_034 |
|  35 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_035 |
|  36 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_036 |
|  37 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_037 |
|  38 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_038 |
|  39 | DB_1631610412546HSWK_0LNF_0004 | test_table_Oenl_039 |
|  40 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_040 |
|  41 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_041 |
|  42 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_042 |
|  43 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_043 |
|  44 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_044 |
|  45 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_045 |
|  46 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_046 |
|  47 | DB_1631610412546HSWK_0LNF_0005 | test_table_Oenl_047 |
|  48 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_048 |
|  49 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_049 |
|  50 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_050 |
|  51 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_051 |
|  52 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_052 |
|  53 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_053 |
|  54 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_054 |
|  55 | DB_1631610412546HSWK_0LNF_0006 | test_table_Oenl_055 |
|  56 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_056 |
|  57 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_057 |
|  58 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_058 |
|  59 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_059 |
|  60 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_060 |
|  61 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_061 |
|  62 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_062 |
|  63 | DB_1631610412546HSWK_0LNF_0007 | test_table_Oenl_063 |
|  64 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_064 |
|  65 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_065 |
|  66 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_066 |
|  67 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_067 |
|  68 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_068 |
|  69 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_069 |
|  70 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_070 |
|  71 | DB_1631610412546HSWK_0LNF_0008 | test_table_Oenl_071 |
|  72 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_072 |
|  73 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_073 |
|  74 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_074 |
|  75 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_075 |
|  76 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_076 |
|  77 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_077 |
|  78 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_078 |
|  79 | DB_1631610412546HSWK_0LNF_0009 | test_table_Oenl_079 |
|  80 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_080 |
|  81 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_081 |
|  82 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_082 |
|  83 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_083 |
|  84 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_084 |
|  85 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_085 |
|  86 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_086 |
|  87 | DB_1631610412546HSWK_0LNF_0010 | test_table_Oenl_087 |
|  88 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_088 |
|  89 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_089 |
|  90 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_090 |
|  91 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_091 |
|  92 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_092 |
|  93 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_093 |
|  94 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_094 |
|  95 | DB_1631610412546HSWK_0LNF_0011 | test_table_Oenl_095 |
|  96 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_096 |
|  97 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_097 |
|  98 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_098 |
|  99 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_099 |
| 100 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_100 |
| 101 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_101 |
| 102 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_102 |
| 103 | DB_1631610412546HSWK_0LNF_0012 | test_table_Oenl_103 |
| 104 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_104 |
| 105 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_105 |
| 106 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_106 |
| 107 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_107 |
| 108 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_108 |
| 109 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_109 |
| 110 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_110 |
| 111 | DB_1631610412546HSWK_0LNF_0013 | test_table_Oenl_111 |
| 112 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_112 |
| 113 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_113 |
| 114 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_114 |
| 115 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_115 |
| 116 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_116 |
| 117 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_117 |
| 118 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_118 |
| 119 | DB_1631610412546HSWK_0LNF_0014 | test_table_Oenl_119 |
| 120 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_120 |
| 121 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_121 |
| 122 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_122 |
| 123 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_123 |
| 124 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_124 |
| 125 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_125 |
| 126 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_126 |
| 127 | DB_1631610412546HSWK_0LNF_0015 | test_table_Oenl_127 |
+-----+------------------------------------+---------------------+
128 rows in set (0.28 sec)

分库分表键集合

查看分库分表键集合,分库键和分表键之间用逗号分割。如果最终结果有两个值,说明是既分库又分表的情形,第一个是分库键,第二个是分表键。如果结果只有一个值,说明是分库不分表的情形,该值是分库键。

mysql> show PARTITIONS from test_table;
+-------------+
| KEYS        |
+-------------+
| TESTTABLE_ID |
+-------------+
1 row in set (0.07 sec)

广播表列表

查看广播表列表。

SHOW BROADCASTS;
+------+------------+
| ID   | TABLE_NAME |
+------+------------+
|    0 | brd2       |
|    1 | brd_tbl    |
+------+------------+
2 rows in set (0.01 sec)

SHOW DATASOURCES

查看底层存储信息,包含数据库名、数据库分组名、连接信息、用户名、底层存储类型、读写权重、连接池信息等。

SHOW DATASOURCES;
+------+----------------------------+------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------+-----------+-------+------+------+------+--------------+----------+--------------+---------------+----------------------------------------------+-------------+--------------+   
| ID   | SCHEMA                     | NAME                                           | GROUP                                            | URL                                                                              | USER      | TYPE  | INIT | MIN  | MAX  | IDLE_TIMEOUT | MAX_WAIT | ACTIVE_COUNT | POOLING_COUNT | ATOM                                         | READ_WEIGHT | WRITE_WEIGHT |
+------+----------------------------+------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------+-----------+-------+------+------+------+--------------+----------+--------------+---------------+----------------------------------------------+-------------+--------------+  
|    0 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0000_iiab_1 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0000_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0000 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0000_iiab | 10          | 10           |  
|    1 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0001_iiab_2 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0001_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0001 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0001_iiab | 10          | 10           |   
|    2 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0002_iiab_3 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0002_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0002 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0002_iiab | 10          | 10           | 
|    3 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0003_iiab_4 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0003_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0003 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0003_iiab | 10          | 10           |   
|    4 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0004_iiab_5 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0004_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0004 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0004_iiab | 10          | 10           |   
|    5 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0005_iiab_6 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0005_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0005 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0005_iiab | 10          | 10           |  
|    6 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0006_iiab_7 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0006_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0006 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0006_iiab | 10          | 10           |  
|    7 | seq_test_1487767780814rgkk | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0007_iiab_8 | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0007_RDS | jdbc:mysql://rds1ur80kcv8g3t6p3ol.mysql.rds.aliyuncs.com:3306/seq_test_wnjg_0007 | jnkinsea0 | xdb   | 0    | 24   | 72   | 15           | 5000     | 0            | 1             | rds1ur80kcv8g3t6p3ol_seq_test_wnjg_0007_iiab | 10          | 10           |  
+------+----------------------------+------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------+-----------+-------+------+------+------+--------------+----------+--------------+---------------+----------------------------------------------+-------------+--------------+

重要列详解:

  • SCHEMA:数据库名;
  • GROUP:数据库分组名。分组的目标是管理多组数据完全相同的数据库,比如通过 RDS(MySQL)进行数据复制后的主备数据库。主要用来解决读写分离、主备切换的问题;
  • URL:底层RDS(MySQL)的连接信息;
  • TYPE:底层存储类型。
  • READ_WEIGHT :读权重。在主实例的读压力比较大的时候,可以通过读写分离功能将读流量进行分流,减轻RDS主实例的压力。PolarDB-X会自动识别读写流量,引导写流量进入RDS主实例,读流量则按配置的权重流向所有RDS实例;
  • WRITE_WEIGHT:写权重。

SHOW NODE

查看物理库的读写次数(历史累计数据)、读写权重(历史累计数据)。

SHOW NODE;
+------+--------------------------------------------------+-------------------+------------------+---------------------+--------------------+
| ID   | NAME                                             | MASTER_READ_COUNT | SLAVE_READ_COUNT | MASTER_READ_PERCENT | SLAVE_READ_PERCENT |
+------+--------------------------------------------------+-------------------+------------------+---------------------+--------------------+
| 0    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0000_RDS |                12 |                0 | 100%                | 0%                 |
| 1    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0001_RDS |                 0 |                0 | 0%                  | 0%                 |
| 2    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0002_RDS |                 0 |                0 | 0%                  | 0%                 |
| 3    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0003_RDS |                 0 |                0 | 0%                  | 0%                 |
| 4    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0004_RDS |                 0 |                0 | 0%                  | 0%                 |
| 5    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0005_RDS |                 0 |                0 | 0%                  | 0%                 |
| 6    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0006_RDS |                 0 |                0 | 0%                  | 0%                 |
| 7    | SEQ_TEST_1487767780814RGKKSEQ_TEST_WNJG_0007_RDS |                 0 |                0 | 0%                  | 0%                 |
+------+--------------------------------------------------+-------------------+------------------+---------------------+--------------------+
8 rows in set (0.01 sec)

重要列详解:

  • MASTER_COUNT:RDS主实例处理的读写查询次数(历史累计数据);
  • SLAVE_COUNT:RDS备实例处理的只读查询次数(历史累计数据);
  • MASTER_PERCENT:RDS主实例处理的读写查询占比(注意该列显示的是累计的实际数据占比,并不是用户配置的百分比);
  • SLAVE_PERCENT:RDS备实例处理的读写查询占比(注意该列显示的是累计的实际数据占比,并不是用户配置的百分比)。

慢SQL相关

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

语法

SHOW [FULL] SLOW [WHERE expr] [limit expr]
  • SHOW SLOW:查看自PolarDB-X启动或者上次执行CLEAR SLOW以来最慢的100条逻辑慢SQL;
  • SHOW FULL SLOW:查看实例启动以来记录的所有逻辑慢SQL(持久化到PolarDB-X的内置数据库中),该记录数默认为100条。
SHOW [FULL] PHYSICAL_SLOW [WHERE expr] [limit expr]
  • SHOW PHYSICAL_SLOW:查看自PolarDB-X启动或者上次执行CLEAR SLOW 以来最慢的100条物理慢SQL(注意,这里记录的是最慢的100个,缓存在PolarDB-X系统中,当实例重启或者执行CLEAR SLOW时会丢失);
  • SHOW FULL PHYSICAL_SLOW:查看实例启动以来记录的所有物理慢SQL(持久化到PolarDB-X的内置数据库中)。该记录数默认为100条。

统计信息

SHOW [FULL] STATS

查看整体的统计信息,这些信息都是瞬时值。

SHOW STATS;
+------+---------+----------+-------------------+------------------+------------------------+--------------------+--------+------------+--------------+---------------+----------------+---------------+---------------+--------------+
| QPS  | RDS_QPS | SLOW_QPS | PHYSICAL_SLOW_QPS | ERROR_PER_SECOND | MERGE_QUERY_PER_SECOND | ACTIVE_CONNECTIONS | RT(MS) | RDS_RT(MS) | NET_IN(KB/S) | NET_OUT(KB/S) | THREAD_RUNNING | DDL_JOB_COUNT | BACKFILL_ROWS | CHECKED_ROWS |
+------+---------+----------+-------------------+------------------+------------------------+--------------------+--------+------------+--------------+---------------+----------------+---------------+---------------+--------------+
| 0.00 |    0.00 |     0.00 |              0.00 |             0.00 |                   0.00 |                  1 |   0.00 |       0.00 |         0.00 |          0.00 |              1 |             0 |             0 |            0 |
+------+---------+----------+-------------------+------------------+------------------------+--------------------+--------+------------+--------------+---------------+----------------+---------------+---------------+--------------+

show full stats;
+------+---------+----------+-------------------+------------------+----------------------+------------------------+--------------------+------------------------------+--------+------------+--------------+---------------+----------------+----------------------+-----------------+----------------------------+-----------------------+------------------------------+-------------------------+--------------------------+---------------------+-------+---------+-------------+------------+
| QPS  | RDS_QPS | SLOW_QPS | PHYSICAL_SLOW_QPS | ERROR_PER_SECOND | VIOLATION_PER_SECOND | MERGE_QUERY_PER_SECOND | ACTIVE_CONNECTIONS | CONNECTION_CREATE_PER_SECOND | RT(MS) | RDS_RT(MS) | NET_IN(KB/S) | NET_OUT(KB/S) | THREAD_RUNNING | HINT_USED_PER_SECOND | HINT_USED_COUNT | AGGREGATE_QUERY_PER_SECOND | AGGREGATE_QUERY_COUNT | TEMP_TABLE_CREATE_PER_SECOND | TEMP_TABLE_CREATE_COUNT | MULTI_DB_JOIN_PER_SECOND | MULTI_DB_JOIN_COUNT | CPU   | FREEMEM | FULLGCCOUNT | FULLGCTIME |
+------+---------+----------+-------------------+------------------+----------------------+------------------------+--------------------+------------------------------+--------+------------+--------------+---------------+----------------+----------------------+-----------------+----------------------------+-----------------------+------------------------------+-------------------------+--------------------------+---------------------+-------+---------+-------------+------------+
| 1.63 |    1.68 |     0.03 |              0.03 |             0.02 |                 0.00 |                   0.00 |                  6 |                         0.01 | 157.13 |      51.14 |       134.33 |          1.21 |              1 |                 0.00 |              54 |                       0.00 |                   663 |                         0.00 |                     512 |                     0.00 |                 516 | 0.09% |   6.96% |       76446 |   21326906 |
+------+---------+----------+-------------------+------------------+----------------------+------------------------+--------------------+------------------------------+--------+------------+--------------+---------------+----------------+----------------------+-----------------+----------------------------+-----------------------+------------------------------+-------------------------+--------------------------+---------------------+-------+---------+-------------+------------+
1 row in set (0.01 sec)
            

重要列说明:

  • QPS:应用到PolarDB-X的QPS,通常称为逻辑QPS;
  • RDS_QPS:PolarDB-X到RDS的QPS,通常称为物理QPS;
  • ERROR_PER_SECOND:每秒的错误数,包含SQL语法错误,主键冲突,系统错误,连通性错误等各类错误总和;
  • VIOLATION_PER_SECOND:每秒的主键或者唯一键冲突;
  • MERGE_QUERY_PER_SECOND:通过分库分表,从多表中进行的查询;
  • ACTIVE_CONNECTIONS:正在使用的连接;
  • CONNECTION_CREATE_PER_SECOND:每秒创建的连接数;
  • RT(MS):应用到PolarDB-X的响应时间,通常称为逻辑RT(响应时间);
  • RDS_RT(MS):PolarDB-X到RDS/MySQL的响应时间,通常称为物理RT;
  • NET_IN(KB/S):PolarDB-X收到的网络流量;
  • NET_OUT(KB/S):PolarDB-X输出的网络流量;
  • THREAD_RUNNING:正在运行的线程数;
  • HINT_USED_PER_SECOND:每秒带HINT的查询的数量;
  • HINT_USED_COUNT:启动到现在带HINT的查询总量;
  • AGGREGATE_QUERY_PER_SECOND:每秒聚合查询的频次;
  • AGGREGATE_QUERY_COUNT:聚合查询总数(历史累计数据);
  • TEMP_TABLE_CREATE_PER_SECOND:每秒创建的临时表的数量;
  • TEMP_TABLE_CREATE_COUNT:启动到现在创建的临时表总数量;
  • MULTI_DB_JOIN_PER_SECOND:每秒跨库JOIN的数量;
  • MULTI_DB_JOIN_COUNT:启动到现在跨库JOIN的总量。

SHOW DB STATUS

用于查看物理库容量/性能信息,所有返回值为实时信息。 容量信息通过MySQL系统表获得,与真实容量情况可能有差异。

SHOW DB STATUS;
+------+---------------------------+--------------------+-------------------+------------+--------+----------------+
| ID   | NAME                      | CONNECTION_STRING  | PHYSICAL_DB       | SIZE_IN_MB | RATIO  | THREAD_RUNNING |
+------+---------------------------+--------------------+-------------------+------------+--------+----------------+
|    1 | drds_db_1516187088365daui | 100.100.64.1:59077 | TOTAL             |  13.109375 | 100%   | 3              |
|    2 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0000 |   1.578125 | 12.04% |                |
|    3 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0001 |     1.4375 | 10.97% |                |
|    4 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0002 |     1.4375 | 10.97% |                |
|    5 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0003 |     1.4375 | 10.97% |                |
|    6 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0004 |   1.734375 | 13.23% |                |
|    7 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0005 |   1.734375 | 13.23% |                |
|    8 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0006 |   2.015625 | 15.38% |                |
|    9 | drds_db_1516187088365daui | 100.100.64.1:59077 | drds_db_xzip_0007 |   1.734375 | 13.23% |                |
+------+---------------------------+--------------------+-------------------+------------+--------+----------------+

重要列说明:

  • NAME:代表一个PolarDB-X DB,此处显示的是PolarDB-X内部标记,与PolarDB-X DB名称不同;
  • CONNECTION_STRING:分库的连接信息;
  • PHYSICAL_DB:分库名称,TOTAL行代表一个PolarDB-X DB中所有分库容量的总和;
  • SIZE_IN_MB:分库中数据占用的空间,单位为MB;
  • RATIO:单个分库数据量在当前PolarDB-X DB总数据量中的占比;
  • THREAD_RUNNING:物理数据库实例当前正在执行的线程情况,含义与MySQL语句SHOW GLOBAL STATUS返回值的含义相同

SHOW TABLE STATUS

获取表的信息,该指令聚合了底层各个物理分表的数据。

SHOW TABLE STATUS;
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| NAME    | ENGINE | VERSION | ROW_FORMAT | ROWS | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME         | UPDATE_TIME | CHECK_TIME | COLLATION          | CHECKSUM | CREATE_OPTIONS | COMMENT |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| sbtest1 | InnoDB |      10 | Dynamic    |    0 |              0 |     1310720 |               0 |            0 |         0 |              0 | 2021-07-20 15:39:37 | NULL        | NULL       | utf8mb4_general_ci | NULL     |                |         |
| t1      | InnoDB |      10 | Dynamic    |    0 |              0 |     2621440 |               0 |      2621440 |         0 |         200000 | 2021-07-26 20:11:15 | NULL        | NULL       | utf8mb4_general_ci | NULL     |                |         |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+

重要列详解:

  • NAME:表名称;
  • ENGINE:表的存储引擎;
  • VERSION:表的存储引擎的版本;
  • ROW_FORMAT :行格式,主要是Dynamic、Fixed、Compressed这三种格式。动态(Dynamic)行的行长度可变,例如VARCHAR或BLOB类型字段;固定(Fixed)行是指行长度不变,例如CHAR和INTEGER类型字段;
  • ROWS:表中的行数;
  • AVG_ROW_LENGTH:平均每行包括的字节数;
  • DATA_LENGTH:整个表的数据量(单位:字节);
  • MAX_DATA_LENGTH:表可以容纳的最大数据量;
  • INDEX_LENGTH:索引占用磁盘的空间大小 ;
  • CREATE_TIME:表的创建时间;
  • UPDATE_TIME:表的最近更新时间;
  • COLLATION:表的默认字符集和字符排序规则;
  • CREATE_OPTIONS:指表创建时的其他所有选项。

查看具体TABLE的状态可以使用 like 关键字

mysql> SHOW TABLE STATUS like test_table;
+------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+-----------------------+-----------------------+------------+-----------------+----------+----------------+---------+
| NAME       | ENGINE | VERSION | ROW_FORMAT | ROWS    | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME           | UPDATE_TIME           | CHECK_TIME | COLLATION       | CHECKSUM | CREATE_OPTIONS | COMMENT |
+------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+-----------------------+-----------------------+------------+-----------------+----------+----------------+---------+
| test_table | InnoDB |      10 | Dynamic    | 5701365 | 2133           | 12166168576 | 0               | 1966866432   | 7340032   |              0 | 2022-01-05 04:42:18.0 | 2023-06-07 18:00:04.0 | NULL       | utf8_general_ci | NULL     |                | 日志表  |
+------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+-----------------------+-----------------------+------------+-----------------+----------+----------------+---------+
1 row in set (0.21 sec)

SHOW TABLE INFO [name]

获取各个分表的数据量信息。

SHOW TABLE INFO SBTEST1;
+----+--------------+-----------------+------------+
| ID | GROUP_NAME   | TABLE_NAME      | SIZE_IN_MB |
+----+--------------+-----------------+------------+
|  0 | test1_000000 | sbtest1_wo5k_00 | 0.01562500 |
|  1 | test1_000000 | sbtest1_wo5k_01 | 0.01562500 |
|  2 | test1_000005 | sbtest1_wo5k_10 | 0.01562500 |
|  3 | test1_000005 | sbtest1_wo5k_11 | 0.01562500 |
|  4 | test1_000010 | sbtest1_wo5k_20 | 0.01562500 |
|  5 | test1_000010 | sbtest1_wo5k_21 | 0.01562500 |
|  6 | test1_000015 | sbtest1_wo5k_30 | 0.01562500 |
|  7 | test1_000015 | sbtest1_wo5k_31 | 0.01562500 |
|  8 | test1_000020 | sbtest1_wo5k_40 | 0.01562500 |
|  9 | test1_000020 | sbtest1_wo5k_41 | 0.01562500 |
| 10 | test1_000025 | sbtest1_wo5k_50 | 0.01562500 |
| 11 | test1_000025 | sbtest1_wo5k_51 | 0.01562500 |
| 12 | test1_000030 | sbtest1_wo5k_60 | 0.01562500 |
| 13 | test1_000030 | sbtest1_wo5k_61 | 0.01562500 |
| 14 | test1_000035 | sbtest1_wo5k_70 | 0.01562500 |
| 15 | test1_000035 | sbtest1_wo5k_71 | 0.01562500 |
+----+--------------+-----------------+------------+

分析数据分布不均衡

当数据分布不均匀,大部分数据集中在一两个节点时,将导致节点负载过高、查询缓慢,甚至造成节点故障

分库级别的数据倾斜

show db status

索引触发全表代价

  • rds索引命中范围超过80%
  • drds索引命中范围超过60%

底层优化逻辑都会触发自动执行全表扫描的。

Edit this page
Last Updated:
Contributors: wangxiaoquan
Prev
03-Doris