2016-04-15 37 views
3

設定值當在內存中創建優化表散列索引我可以設置爲可變BUCKET_COUNTSQL服務器在內存OLTP散列索引BUCKET_COUNT

CREATE TABLE [Table1] (
[Id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY NONCLUSTERED HASH 
           WITH (BUCKET_COUNT = 1000000), 
[Name] NVARCHAR(100) NOT NULL 
) 
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA); 

什麼是此變量的最優值的價值?

回答

2

根據Determining the Correct Bucket Count for Hash Indexes

在大多數情況下剷鬥計數應該是1和2之間倍,在索引關鍵字的數 不同值。如果索引鍵包含 很多重複值,平均而言,每個索引鍵值有多於10行,使用非聚集索引而不是

您可能無法始終預測特定索引有多少個值關鍵可能有或將有。 如果BUCKET_COUNT值在鍵值的實際數量的5倍以內,性能應該可以接受。

和:

主鍵和唯一索引

因爲主鍵索引是唯一的,不同值中的鍵對應的行中的數字的數量桌子。