是否使包含其他索引的索引有意义?

时间:2010-04-21 12:41:05

标签: sql-server indexing

给定一个表(id,col1,col2),创建以下索引是否有意义:

Index1(col1)不是唯一的

Index2(col1,col2)不是唯一的

我面对的是一个充满这些数据的遗留数据库。

我可以安全地删除Index1吗? Anwser需要SQL Server和Oracle。

1 个答案:

答案 0 :(得分:1)

是的,你可以删除索引1,如果你有Index2 (col1, col2),则不需要Index1 (col1),删除Index1 (col1)

如果查询只需要Index1 (col1),那么Index2 (col1, col2)的使用会因额外的列而产生一些额外的开销,这对于维护而言是最小的,并且需要额外的费用。索引。

那就是说,如果这个遗留数据库运行正常,为什么要进行任何更改?