sql >> Databáze >  >> RDS >> Sqlserver

Měl by být sloupec primárního klíče Sequential Guid seskupený index?

Nejprve pro objasnění, primární klíč a seskupený index jsou 2 samostatné a odlišné věci, tj. jedna není propojena s druhou (PK mohou být neseskupené, seskupené indexy mohou být jiné než PK).

Vzhledem k tomu si myslím, že se ptáte více „Měl by být sekvenční GUID použit jako seskupený index“. To je nabitá otázka, ale Kimberly Tripp o tom diskutovala asi nejlepší ze všech, co jsem viděl. Všimněte si, že článek odkazuje na PK, ale uvnitř článku odkazuje na to, jak se tato úvaha vztahuje většinou na výběr seskupeného indexu vs. PK.

Za předpokladu, že jste se již rozhodli použít GUID jako klíč clusteru (což může nebo nemusí být tento případ), použití sekvenčního GUID by s největší pravděpodobností bylo lepší volbou než nesekvenční GUID, existuje však alespoň 1 scénář, kde může být preferováno nesekvenční GUID (ačkoli velmi vzácný, velmi pokročilý scénář, kdy byste museli v zásadě rozumět vašemu systému a serveru SQL tak dobře, že nepochybujete o tom, že by se to mělo použít – to by mělo co do činění s hotspoty na vašem úložném zařízení a šíření velkých objemů zápisů do různých umístění clusteru).




  1. Vytvoření tabulky čísel v MySQL

  2. Zahodit jedinečný klíč muli-column bez vypuštění cizího klíče?

  3. Zálohujte/obnovte databázi SQLlite do složky aplikace Disk Google

  4. Globální nerozdělený index v Oracle