使用常量更新索引列

时间:2011-07-27 01:22:16

标签: sql database-schema

我有一个包含主键和索引列的表。

  • 最初只进行一次操作,我会根据主键进行插入。索引列具有唯一值。没事。
  • 第二个操作是我使用此索引列搜索行。
  • 第三个操作我是根据主键更新行,但是使用常量设置索引列。

根据理论,第三次操作更新是否缓慢?我用主键给索引列,它没有那么多帮助。有人能指出我为什么吗?

1 个答案:

答案 0 :(得分:1)

如果我了解您,您问的是,在您要更改的列上添加索引是否会使您的“更新”更快。对此的答案是否定的,实际上它实际上会使它变慢。

如果您使用索引比使用聚簇索引更快地找到行,则可以加快更新操作,这会超过更新聚簇索引和表上附加索引的成本(可能)。

在您的实例中,当您通过主键进行更新时,如果不使用允许对主索引进行并行操作的技术(在MS SQL Server中对表进行分区),则无法对此进行更新优化。