我已经为我保存的工作负载运行了Tuning Advisor。 在其build议中有很多创build统计信息和一些创build索引。 我知道索引会提高性能,但任何人都可以解释收集统计数据是如何提高性能的。
在很高的级别上,统计信息会保留,以便SQL Server的查询优化器可以确定执行语句的最佳方式。 每个操作都会生成执行计划,统计信息有助于确定最有效的执行计划,以便完成任务。
关于这个话题有绝对的信息。 然而,在实施调整build议之前,您应该确定自己在做什么。 例如,添加索引并不总是会提高性能。 有时效果是负面的。 保持统计数据是至关重要的。
以下是描述Query Optimizer在SQL 2008中使用的统计信息的MSDN文章。
Microsoft SQL Server 2008中查询优化器使用的统计信息
我也build议阅读这些专家的提供:
SQL Server Tuning Advisor是专门为Microsoft SQL Server系统devise的工具,可以以各种不同的方式进行数据库调整。 根据个人或企业的需求,它可以用于在线和离线调整应用程序。 它能够通过调整索引等各种元素,大大提高search的整体性能。 它也可以用来通过创build或删除分区和索引来优化SQL Server,并以一种尽可能快的方式修改这些types的元素。
由于许多不同的原因,收集统计数据是SQL Server Tuning Advisor的性能改进。 这些统计数据本身是由与数据和值分布在表的列或索引视图中有关的信息组成的对象。 一旦收集到必要的统计数据,SQL Server Tuning Advisor将使用该信息来估计特定查询结果中的行数。 该估计被称为“基数估计”,并且该信息允许应用程序创build高质量的查询计划。 这样做将显示出查询传统运行方式的显着性能提升。
使用SQL Server Tuning Advisor对SQL Server进行性能改进在概念上与通过允许build立索引来改进Microsoft Windows操作系统中的“search”function类似。 如果SQL Server Tuning Advisor能够使用统计信息估计查询结果的样子,那么它将能够比没有统计信息时更快地生成结果。 更快的查询结果将让位于整体平滑的工作环境