2015-01-08 60 views
0

我一直在經歷着緩慢的查詢上具有相當大量的記錄表。確定索引列

爲了減少性能問題,我創建了其中包含的是大表的記錄的子集,以協助與其他表加入一個臨時表。雖然這大大提高了性能,但查詢大表以找出需要插入登臺表中的記錄的過程仍然非常昂貴。

Consulting this page,我使用了「代價高的缺失索引」查詢來查看哪些索引可以應用在大型表上,但是,這表明我幾乎將每一列都包括到單個索引中。這讓我想到了我的問題:索引應該是最常用的列,還是最常用於搜索條件的列?

+0

取決於,如果選擇整個表或差不多,在搜索條件中使用這些索引不會幫助much.So現在的SQL Server建議在廚房水槽,把一切都放在一個索引。 – Mihai

+0

我需要在一行中選擇所有列,但我只用搜索條件兩列。但是,如果我把所有的列放在索引中,它不會對性能產生任何影響嗎? –

回答

1

索引用於改善該數據庫可以找到符合搜索條件的記錄速度,所以要回答你的問題索引只對在搜索條件中列有用。

添加索引到被頻繁提取,但從來沒有出現作爲搜索條件將成爲不超過添加額外的開銷DML操作的指標也必須保持其他目的列。