1

我有一个关于 SQL Server 中表统计信息的一般查询。

背景:
在我正在进行的一个项目中,我有几个正在使用的数据库——每个数据库都包含具有各自索引和约束的表。因此,我执行了几个测试用例,并使用 SQL Server Profiler 创建跟踪,以便可以将它们与 Tuning Advisor 一起使用来生成建议。顾问为我生成的唯一建议是一堆统计数据。

在创建这些统计信息后,我测试了statistics io设置为 on 的存储过程,我注意到逻辑读取有一个小的改进。

问题:
我的问题是:插入了许多顾问为我生成的统计信息(每个表大约 3-4 个),这些统计信息如何影响 INSERT、UPDATE 或 DELETE 的性能?

4

1 回答 1

0

如果有聚集索引,那么任何插入/更新/删除都需要执行基于索引的操作。这意味着统计信息可用于提高查询引擎确定如何插入/更新/删除行的能力。

我不能肯定地说它们是,但它们有可能提高性能。

然而,一个问题是,当表发生许多小更新时,统计信息可能不会更新;在自动更新它们之前,它需要超过一定数量的行。你们很多人都想看看这个。

于 2012-07-13T16:15:39.793 回答