Sql 使用常量更新索引列

Sql 使用常量更新索引列,sql,database-schema,Sql,Database Schema,我有一个带有主键和索引列的表 最初只需一个操作,我就可以根据主键进行插入。索引列具有唯一值。很好 第二个操作是使用此索引列搜索行 第三个操作是基于主键更新行,但使用常量设置索引列 根据理论,第三次操作更新慢吗?我给出了带有主键的索引列,它并没有多大帮助。有人能告诉我为什么吗 如果我理解您的意思,您会问,在正在更改的列上添加索引是否会加快“更新”速度。答案是否定的,事实上这会使它变慢 如果可以使用索引比使用聚集索引更快地定位行,则更新操作可能会加快,这超过了更新聚集索引和表上附加索引的成本(可

我有一个带有主键和索引列的表

  • 最初只需一个操作,我就可以根据主键进行插入。索引列具有唯一值。很好
  • 第二个操作是使用此索引列搜索行
  • 第三个操作是基于主键更新行,但使用常量设置索引列

根据理论,第三次操作更新慢吗?我给出了带有主键的索引列,它并没有多大帮助。有人能告诉我为什么吗

如果我理解您的意思,您会问,在正在更改的列上添加索引是否会加快“更新”速度。答案是否定的,事实上这会使它变慢

如果可以使用索引比使用聚集索引更快地定位行,则更新操作可能会加快,这超过了更新聚集索引和表上附加索引的成本(可能)

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