执行计划相关

如何根据oceanbase的执行计划确定联合索引是走了所有字段还是部分字段?

explain extended 的outputs & filters里面的range_key中有索引扫描的范围

1 个赞

你好 能给个具体例子看吗?我看执行计划并没有range key 字眼

obclient [test]> explain extended select count(*) from gva.slowlogs_raw;
±-------------------------------------------------------------------------------------------------------------------------------------+
| Query Plan |
±-------------------------------------------------------------------------------------------------------------------------------------+
| ===================================================================== |
| |ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)| |
| --------------------------------------------------------------------- |
| |0 |SCALAR GROUP BY | |1 |1572133 | |
| |1 |└─TABLE FULL SCAN|slowlogs_raw(idx_period)|49247376|679572 | |
| ===================================================================== |

Outputs & filters:
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*)(0x7f1ff101ed90))(0x7f1ff10a7de0)]), filter(nil), rowset=256
group(nil), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(*)(0x7f1ff101ed90))(0x7f1ff10a7de0)])
1 - output([T_FUN_COUNT(*)(0x7f1ff101ed90)]), filter(nil), rowset=256
access(nil), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([slowlogs_raw.period_start(0x7f1ff1087ff0)], [slowlogs_raw.id(0x7f1ff101f270)]), range(MIN,MIN ; MAX,MAX)always true
Used Hint:
-------------------------------------
/*+
*/
Qb name trace:
-------------------------------------
stmt_id:0, stmt_type:T_EXPLAIN
stmt_id:1, SEL$1
Outline Data:
-------------------------------------
/*+
BEGIN_OUTLINE_DATA
INDEX(@“SEL$1” “gva”.“slowlogs_raw”@“SEL$1” “idx_period”)
OPTIMIZER_FEATURES_ENABLE(‘4.2.1.0’)
END_OUTLINE_DATA
*/
1 个赞

上面计划中的使用了索引的全扫描,index full scan,扫描的范围是period_start和id的min到max值,也是索引的全部都需要扫描

1 个赞

可以参考下楼上的恢复,如果有具体问题可以发出来执行计划

1 个赞

谢谢亲

谢谢

1、建议发一下 explain extended 执行计划 保存在一个文本里
2、 使用obdiag收集信息
–obdiag安装文档
https://www.oceanbase.com/docs/common-obdiag-cn-1000000001491140

收集SQL性能问题信息
obdiag gather scene run --scene=observer.perf_sql --env “{db_connect=’-hxx -Pxx -uxx -pxx -Dxx’, trace_id=‘xx’}”

2 个赞