2013-03-05 15 views
3

我有一個表,其中有3個不同的查詢針對它運行。針對不同的查詢在單個表上添加多個索引

  • 第一個查詢具有使用兩個列
  • 的第二個三列的
  • 的列的第三四個where子句

如果我通過運行每個查詢預計執行計劃,並且SQL Server Management Studio建議爲每個查詢添加一個新的不同索引。

我很高興爲最大性能添加三個不同的索引。該表從不更新,很少插入。

但是,將多個索引添加到同一個表以容納不同的查詢是一個好主意。

+1

如果表格足夠大,足以感受到差異並經常使用 - 爲什麼不呢? – 2013-03-05 15:12:17

回答

1

如果您足夠了解這些查詢,請添加索引。

當您修改數據(插入/更新/刪除)時,索引主要會增加開銷。它們通過在頁面緩存中佔用內存也會產生一些額外的開銷。這削減了兩種方式。有時索引本身可以完全替代表格。有時兩者都是需要的,這取決於查詢和索引。

如果數據沒有變化,並且有很大的潛在上行空間,則沒有什麼不利之處。由於SQL Server正在推薦這些索引,因此您可以非常確定它們將被使用並應該提高查詢的性能。

相關問題