OceanBase单表亿级数据下的分页查询优化技巧

内容:日常业务中遇到单表数据量超亿级时,使用limit offset做分页会出现越往后翻页查询越慢的问题,想请教大家在OceanBase中针对这类场景的最优分页优化方案,包括索引设计、SQL写法调整、数据库参数调优等方面的实操技巧,以及不同方案的性能对比和适用场景。

3 个赞

通常的做法就是在页与页之间要传递边界值,通过where ID > LastPageMaxId 来实现offset避免深度分页的性能衰减

3 个赞

数据库参数调优

  • 开启分区裁剪:确保 ob_enable_partition_pruning = ON,让查询仅扫描目标分区。
  • 调整索引缓存:增大 ob_index_block_cache_size,提升索引命中率。
  • 优化并行查询:开启 ob_enable_parallel_query,让大分页查询利用多线程并行扫描。
1 个赞

感谢

1 个赞

谢谢分享,对我有帮助,又学到了新知识