帮你快速理解、总结文档立即下载

物理优化

最近更新时间:2026-08-18 19:12:05
我的收藏
TDSQL Boundless 在 SQL 执行阶段提供以下物理优化能力。相较于依赖统计信息的传统成本估算,这些技术直接利用索引物理顺序、运行时数据分布和即时过滤条件,动态调整数据访问路径,显著降低 CPU 与内存开销。
物理优化能力
核心收益
典型场景
详细文档
Ordering Index
避免排序(Skip Sort)、流式聚集、LIMIT 提前终止
ORDER BY + LIMIT 的 Top-N、GROUP BY 聚合
Adaptive Ordering Index
统计信息偏差容错、运行时自动切换备选计划
统计信息不准确的复杂排序查询
Runtime Filter
JOIN 数据量削减、减少网络与计算开销
大表 JOIN、Hash Join 探测侧过滤

Ordering Index

Ordering Index(有序索引)不是一种新的索引类型,而是指优化器利用普通索引天然有序的特性,按查询需要的顺序读取数据。当索引顺序与 ORDER BYGROUP BY 的需求兼容时,可以避免 filesort,减少排序的 CPU、内存和临时空间开销(Skip Sort);实现流式聚集,相同分组数据连续到达,完成一组即可输出一组;配合 LIMIT 提前终止扫描,在取得足够结果后停止读取;在多表 Join 场景中,通过 LIMIT-aware Join Order 优化 Join 顺序。

Adaptive Ordering Index

Adaptive Ordering Index(自适应排序索引)用于降低 ORDER BYGROUP BY 配合 LIMIT 查询因统计信息偏差而选错排序索引的风险。优化器在首轮执行中动态计算运行时检查点,边读取边验证索引返回的数据是否真正满足排序要求。若验证失败,自动切换到备选计划,通过透明重新优化执行,避免一次统计偏差导致的长期性能退化。

Runtime Filter

Runtime Filter(运行时过滤器)是一种在 JOIN 执行过程中动态生成的过滤机制。优化器从 JOIN 的一侧收集过滤条件(如哈希表键值集合、范围边界等),并将这些条件实时推送到 JOIN 的另一侧,在数据被读取后立即过滤掉不匹配的行,从而大幅减少 JOIN 操作的实际处理数据量,降低网络传输和计算开销。
说明:
以上物理优化能力的详细参数配置、索引设计指南及调优案例,请参见 SQL 调优