Chci jen upozornit:velmi opatrně vyberte svůj seskupený index! Každá „běžná“ datová tabulka by měla mít seskupený index, protože shlukovaný index skutečně urychluje mnoho operací – ano, zrychluje , dokonce i vkládá a maže! Ale pouze pokud vyberete dobrý seskupený index.
Je to nejvíce replikované datovou strukturu v databázi SQL Server. Clusterovací klíč bude také součástí každého neklastrovaného indexu ve vaší tabulce.
Při výběru klastrovacího klíče byste měli být extrémně opatrní – mělo by to být:
-
úzká (ideální 4 bajty)
-
jedinečné (je to koneckonců „ukazatel řádku“. Pokud jej neuděláte jedinečným, SQL Server to udělá za vás na pozadí, což vás bude stát několik bajtů za každou položku krát počet řádků a počet neshlukovaných indexů, které mít – to může být velmi nákladné!)
-
statické (nikdy neměňte – pokud je to možné)
-
v ideálním případě stále rostoucí takže neskončíte s hroznou fragmentací indexu (GUID je úplný opak dobrého klastrovacího klíče – z tohoto konkrétního důvodu)
-
měl by být bez možnosti null a v ideálním případě by měl mít také pevnou šířku -
varchar(250)
vytváří velmi špatný shlukovací klíč
Cokoli jiného by skutečně mělo být na druhé a třetí úrovni důležitosti za těmito body ....
Podívejte se na některé knihy Kimberly Tripp (The Queen of Indexing ) blogové příspěvky na toto téma - vše, co napsala na svůj blog, je naprosto neocenitelné - přečtěte si to, prožijte to - žijte tím!
- GUID jako PRIMÁRNÍ KLÍČE a/nebo klastrovací klíč
- Debata o seskupených indexech pokračuje...
- Stále rostoucí klíč shlukování – debata o seskupených indexech..........opět!
- Místo na disku je levné – to je ne pointa!