在大多数情况下,优化器选择最快的查询计划。
但是,可以执行步骤来协助优化器以及为使用伪指令做准备。
要为使用伪指令做准备,请确保执行以下任务:
- 运行 UPDATE STATISTICS。
没有精确的统计信息,优化器将无法选择适当的查询计划。当表中数据明显更改(添加、更新和删除很多新行)时,运行 UPDATE STATISTICS。有关更多信息,请参阅更新行数的统计信息。
- 创建分布。
您尝试提高缓慢查询时应该尝试的首先工作之一是在查询中所涉及的列上创建分布。分布将有关表中的数据特性的最精确的信息提高给优化器。运行查询过滤器中涉及的列上的 UPDATE
STATISTICS HIGH 可查看性能是否提高。有关更多信息,请参阅创建数据分发。
在某些情况下,由于查询较为复杂,或由于(即便有分布)有关数据特性的信息不足,查询优化器并不会选择最佳的查询规划。在这些情况下,您可以通过使用伪指令尝试提高某个特殊查询的性能。