OceanBase 的 SQL 引擎支持执行计划解析和缓存技术,可以通过分析查询语句的执行计划来分析查询性能。执行计划查看的语法格式如下:
explain [extended] query_statment ;
示例:查看查询执行计划
obclient> EXPLAIN select count(*) from stok \G
*************************** 1. row ***************************
Query Plan: ========================================================
|ID|OPERATOR |NAME |EST. ROWS|COST |
--------------------------------------------------------
|0 |SCALAR GROUP BY | |1 |600337|
|1 | PX COORDINATOR | |1 |485729|
|2 | EXCHANGE OUT DISTR |:EX10000|1 |485729|
|3 | MERGE GROUP BY | |1 |485729|
|4 | PX PARTITION ITERATOR| |600000 |371122|
|5 | TABLE SCAN |stok |600000 |371122|
========================================================
Outputs & filters:
-------------------------------------
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil),
group(nil), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(*))])
1 - output([T_FUN_COUNT(*)]), filter(nil)
2 - output([T_FUN_COUNT(*)]), filter(nil), dop=1
3 - output([T_FUN_COUNT(*)]), filter(nil),
group(nil), agg_func([T_FUN_COUNT(*)])
4 - output([stok.s_i_id]), filter(nil)
5 - output([stok.s_i_id]), filter(nil),
access([stok.s_i_id]), partitions(p[0-5])