如果在SQL中对where子句建立索引,是否可以更快地更新未索引的列?

时间:2018-08-25 00:10:12

标签: sql indexing sql-update where-clause

基本上,我正在尝试更新SQL中的表,我想知道如果我向where子句中的列添加索引,是否可以提高速度。

例如:

Update mytable 
Set code1 = 1   
Where Account > 115 and Account < 350

如果我将索引添加到Account列中,它会提高还是降低我的速度?

1 个答案:

答案 0 :(得分:0)

这是您的查询:

Update mytable
    Set code1 = 1   
    Where Account > 115 and Account < 350;

在大多数情况下,mytable(Account)上的索引将提高此查询的性能。该索引将使数据库引擎可以快速找到与查询匹配的行,然后仅更新那些行。

什么时候不起作用?索引的使用取决于索引的选择性(或更准确地说,是在优化阶段估算的选择性)。例如,如果所有帐户都在该范围内,则索引无济于事。但总的来说,索引会有所帮助。