如果我要通過Guids查詢表格(不管Guid的碎片問題如何),將Guid作爲聚簇索引而不是非聚簇索引或根本沒有索引會更快嗎?當Guid是聚集索引時,通過Guid搜索表更快嗎?
這個問題來自一個只讀的觀點。我只是很好奇,如果搜索行之間的速度會有所改善,並且搜索速度會更快,有/無索引,還是有/無聚簇索引?
另外,我相當肯定在答覆我的下一個問題,但現在將int標識符應用於上一個問題。搜索表是否由該int羣集會更快嗎? (這是不是在表中聚集一些其他項目?)
我知道有張貼有關這個主題的其他許多問題,但我還沒有找到我要找的具體的答案在任何這些:
Should a Sequential Guid primary key column be a clustered index?
Improving performance of cluster index GUID primary key
Clustered primary key on unique identifier ID column in SQL Server
uniqueidentifier with index
Should I get rid of clustered indexes on Guid columns
感謝您的幫助!
比什麼快?我認爲替代方案將是一個非聚類覆蓋指數? – 2010-06-23 14:30:35
YIKES !!我會像魔鬼一樣避免在SQL Server中將GUID作爲聚簇索引!不要這樣做 - 即使搜索GUID的速度如此之快 - 大多數其他操作都會通過GUIDs進行抓取,如CK ... – 2010-06-23 14:48:11
@Martin Smith - 我的意思是光柵比非聚集索引要好,或者不是索引 @marc_s - 如果我只是專門從表格中讀取數據,那麼我們在討論的其他操作會發生什麼? – Brett 2010-06-23 15:30:42