3
我有一個包含近300萬行的大型表(SQL Server 2008)。它目前在其主鍵上有一個聚集索引,在其外鍵上有一個非聚集索引。將大型表上的外鍵編入索引的最佳做法
表中幾乎所有的查詢都是基於外鍵的讀取。
- 我是否應該更改表上的索引以抵禦外鍵?
- 這樣做的最佳過程是什麼?
感謝
我有一個包含近300萬行的大型表(SQL Server 2008)。它目前在其主鍵上有一個聚集索引,在其外鍵上有一個非聚集索引。將大型表上的外鍵編入索引的最佳做法
表中幾乎所有的查詢都是基於外鍵的讀取。
感謝
不知道更多關於你的情況,我認爲,改變非聚集索引是一個非聚集,涵蓋指數將是最好的解決方案。
http://www.simple-talk.com/sql/learn-sql-server/using-covering-indexes-to-improve-query-performance/
FK列中有多少個值?改變索引的好處很少,取決於多少 - IE:兩個索引毫無價值。 – 2011-04-04 01:43:11
我不確定我是否理解這個問題,但是你問有多少潛在的FK值?如果是這樣,大約16,000 .... – cman77 2011-04-04 01:54:42
@OMGPonies,不會設置外鍵值的聚集索引幫助他的SQL查詢?他的查詢會更快,因爲它不必爲行的數據執行書籤查找。 – 2011-04-04 02:04:00