OceanBase 的 SQL 引擎支持执行计划解析和缓存技术,可以通过分析查询语句的执行计划来分析查询性能。执行计划查看的语法格式如下:

    1. explain [extended] query_statment ;

    示例:查看查询执行计划

    1. obclient> EXPLAIN select count(*) from stok \G
    2. *************************** 1. row ***************************
    3. Query Plan: ========================================================
    4. |ID|OPERATOR |NAME |EST. ROWS|COST |
    5. --------------------------------------------------------
    6. |0 |SCALAR GROUP BY | |1 |600337|
    7. |1 | PX COORDINATOR | |1 |485729|
    8. |2 | EXCHANGE OUT DISTR |:EX10000|1 |485729|
    9. |3 | MERGE GROUP BY | |1 |485729|
    10. |4 | PX PARTITION ITERATOR| |600000 |371122|
    11. |5 | TABLE SCAN |stok |600000 |371122|
    12. ========================================================
    13. Outputs & filters:
    14. -------------------------------------
    15. 0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil),
    16. group(nil), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(*))])
    17. 1 - output([T_FUN_COUNT(*)]), filter(nil)
    18. 2 - output([T_FUN_COUNT(*)]), filter(nil), dop=1
    19. 3 - output([T_FUN_COUNT(*)]), filter(nil),
    20. group(nil), agg_func([T_FUN_COUNT(*)])
    21. 4 - output([stok.s_i_id]), filter(nil)
    22. 5 - output([stok.s_i_id]), filter(nil),
    23. access([stok.s_i_id]), partitions(p[0-5])