众所周知,SQL Server根据统计信息选择了最佳计划。我想知道SQL Server选择最佳计划时使用的规则。请分享描述信息的资源。
答案 0 :(得分:3)
有关该主题的整本书,因此您在这里不会得到快速而全面的答案。
基本方法是应用一组规则,并与每个规则相关联的评分标准。总资源得分最低的方法将适用。
常见规则,包括:
这是一个非常复杂的主题,我上面建议的只是最常用的策略。查询优化器是深入而复杂的程序,并提供了不同数据库提供的许多专有优势。 Microsoft在SQL Server Internals上具有 excellent 系列丛书。如果您想深入了解该主题,我强烈推荐这些主题。
您要求发表一篇文章:由于基本策略相同,因此Oracle的这篇文章几乎适用于其他企业级数据库,例如SQL Server或DB2:
[Query Optimizer Concepts][https://docs.oracle.com/database/121/TGSQL/tgsql_optcncpt.htm#TGSQL227]