以下哪些属于 OB 慢 SQL 优化常规手段?()
A. 补充缺失索引
B. 优化 SQL 避免分区键函数运算
C. 拆分超大事务
D. 直接关闭集群合并
4 个赞
答案:A、B、C
选项分析
-
A. 补充缺失索引

这是最基础也是最有效的慢 SQL 优化手段之一。通过EXPLAIN查看执行计划,发现全表扫描或回表过多的情况时,补充合适的索引可以显著提升查询性能。 -
B. 优化 SQL 避免分区键函数运算

OceanBase 是分布式数据库,数据按分区键进行分布。如果在分区键上使用函数(如WHERE YEAR(create_time) = 2025),会导致无法进行分区裁剪(Partition Pruning),引发全分区扫描,性能急剧下降。改写为范围条件(如WHERE create_time >= '2025-01-01' AND create_time < '2026-01-01')即可命中分区裁剪。 -
C. 拆分超大事务

超大事务会带来多重问题:锁持有时间过长导致阻塞、事务日志(clog)积压、回滚段膨胀、主备同步延迟等。将大事务拆分为多个小事务是 OB 慢 SQL 和性能优化的常规手段。 -
D. 直接关闭集群合并

合并(Major Freeze / Compaction)是 OceanBase 将增量数据(MemTable)与基线数据(SSTable)合并的关键机制。关闭合并会导致:- 增量数据无限堆积,查询需要扫描越来越多的版本,性能持续恶化
- 磁盘空间快速耗尽
- 系统最终可能不可用这不是优化手段,而是严重破坏系统稳定性的操作。如果合并影响业务,正确的做法是调整合并的时间窗口、并发度或限速参数,而非直接关闭。
1 个赞
选择ABC
A. 补充缺失索引
B. 优化 SQL 避免分区键函数运算
C. 拆分超大事务