मेरे पास 100.000 खिलाड़ियों के लिए एक हाईस्कोर टेबल है जिसे प्रति दिन 2 बार प्रति खिलाड़ी एक रिकॉर्ड के साथ डाला जा रहा है। दिन के अंत में उस तालिका में अनुक्रमित के लिए सूचकांक विखंडन 99% है। वहाँ सेटिंग्स को tweaking द्वारा इसे रोकने के लिए एक रास्ता है?
CREATE TABLE HighScore(
[id] [int] IDENTITY(1,1) NOT NULL,
[user] [int] NULL,
[player] [int] NULL,
[round] [tinyint] NULL,
[group] [int] NULL,
[rank] [int] NULL,
[delta] [int] NULL,
[roundpoints] [int] NULL,
[totalpoints] [int] NULL,
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
CREATE NONCLUSTERED INDEX [HighScore_RoundGroup_Nidx] ON .[HighScore]
(
[round] ASC,
[group] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
GO
FILLFACTOR = 80वहाँ की जरूरत नहीं है। यह सिर्फ जगह बर्बाद करेगा। सभी कॉलम निश्चित लंबाई के होते हैं इसलिए एक पंक्ति अपडेट पर विस्तार नहीं कर सकती है और तालिका के मध्य में आवेषण नहीं हो सकता है। 99% अन्य सूचकांक के लिए अप्रत्याशित रूप से उच्च लगता है। प्रत्येक सूचकांक में कितने पृष्ठ हैं?
sys.dm_db_index_physical_statsउत्पादन दिखा सकते हैं ?