本页面介绍了各种 Spanner 查询优化器版本,并提供了相关历史记录。当前默认版本为 8。 如需详细了解查询优化器,请参阅查询优化器概览。
Spanner 会以新查询优化器版本的形式发布查询优化器更新。默认情况下,每个数据库在该版本发布后的 30 天内开始使用最新版本的优化器。
您可以管理 GoogleSQL 方言数据库和 PostgreSQL 方言数据库的查询所使用的查询优化器版本。在提交到最新版本之前,您可以比较旧版本与最新版本之间的性能配置文件。如需了解详情,请参阅管理查询优化器。
查询优化器版本记录
下面总结了在每个版本中对查询优化器进行的更新。
版本 8:2024 年 10 月 28 日(默认和最新)
在做出基于费用的方案选择时,系统会考虑
WITH子句。改进了分布式交叉应用和索引查找查询的性能。
改进了
JOIN重新排序。改进了包含大型
IN (...)子句的查询的性能。改进了某些情况下的
GROUP BY性能。其他改进,包括更高效地处理包含
LIMIT、外键和索引选择的查询。
版本 7:2024 年 5 月 22 日
添加了对基于成本选择索引并集方案的支持。
添加了对基于统计信息智能选择查找与扫描计划的支持,适用于没有所有键部分的查找谓词的查询。
添加了对基于成本的哈希联接选择的支持。
版本 6:2023 年 9 月 11 日
通过完全外联接改进了限制推送和谓词推送。
改进了基数估算和费用模型。
为 DML 查询启用了基于费用的优化。