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 BY 或 GROUP BY 的需求兼容时,可以避免 filesort,减少排序的 CPU、内存和临时空间开销(Skip Sort);实现流式聚集,相同分组数据连续到达,完成一组即可输出一组;配合 LIMIT 提前终止扫描,在取得足够结果后停止读取;在多表 Join 场景中,通过 LIMIT-aware Join Order 优化 Join 顺序。Adaptive Ordering Index
Adaptive Ordering Index(自适应排序索引)用于降低
ORDER BY 或 GROUP BY 配合 LIMIT 查询因统计信息偏差而选错排序索引的风险。优化器在首轮执行中动态计算运行时检查点,边读取边验证索引返回的数据是否真正满足排序要求。若验证失败,自动切换到备选计划,通过透明重新优化执行,避免一次统计偏差导致的长期性能退化。Runtime Filter
Runtime Filter(运行时过滤器)是一种在 JOIN 执行过程中动态生成的过滤机制。优化器从 JOIN 的一侧收集过滤条件(如哈希表键值集合、范围边界等),并将这些条件实时推送到 JOIN 的另一侧,在数据被读取后立即过滤掉不匹配的行,从而大幅减少 JOIN 操作的实际处理数据量,降低网络传输和计算开销。
说明: