我只是通过DTA运行了一个T-SQL查询,建议之一是在属于SQL代码文件中许多查询一部分的列之一上创建统计信息。
我的问题是,统计数据对绩效有何帮助?
我只是通过DTA运行了一个T-SQL查询,建议之一是在属于SQL代码文件中许多查询一部分的列之一上创建统计信息。
我的问题是,统计数据对绩效有何帮助?
Answers:
创建查询执行计划时使用统计信息。
用于查询优化的统计信息是包含有关表或索引视图的一个或多个列中值分布的统计信息的对象。查询优化器使用这些统计信息来估计查询结果中的基数或行数。这些基数估计使查询优化器可以创建高质量的查询计划。例如,查询优化器可以使用基数估计来选择索引查找运算符,而不是消耗更多资源的索引扫描运算符,从而提高查询性能。
有关更多详细信息,请参见http://msdn.microsoft.com/zh-cn/library/ms190397.aspx。
如果DTA建议使用单列统计信息,则必须关闭自动创建统计信息吗?自动创建将自动在谓词中使用的任何列上建立统计信息,因此通常最好将其保持打开状态。检查此数据库的自动更新状态,该状态通常应再次打开。
DTA的最佳用途之一是识别丢失的多列统计信息,这些统计信息不会自动创建。但是对于单列,自动创建应该为您解决这些问题。