sql >> Database teknologi >  >> RDS >> Sqlserver

Skal en Sequential Guid-primærnøglekolonne være et klynget indeks?

Først for at præcisere er en primær nøgle og et klynget indeks 2 separate og adskilte ting, dvs. den ene er ikke koblet til den anden (PK'er kan være ikke-klyngede, klyngede indekser kan være ikke-PK'er).

Når det er givet, tror jeg, du spørger mere "Skal en sekventiel GUID bruges som et klynget indeks". Det er et indlæst spørgsmål, men Kimberly Tripp har diskuteret dette nok den bedste af nogen, jeg har set. Bemærk, at artiklen refererer til en PK, men inde i artiklen henviser hun til, hvordan betragtningen mest gælder for et grupperet indeksvalg vs. en PK.

Forudsat at du allerede har besluttet at bruge et GUID som klyngenøglen (hvilket måske er tilfældet eller ikke), vil brugen af ​​et sekventielt GUID højst sandsynligt være et bedre valg i forhold til et ikke-sekventielt GUID, men der er mindst 1 scenarie, hvor en ikke-sekventiel GUID kan foretrækkes (selvom et meget sjældent, meget avanceret scenarie, hvor du grundlæggende skal forstå dit system og din SQL-server så godt, at du ikke er i tvivl om, at dette skal bruges - ville have at gøre med hotspots på din lagerenhed og spredning af store mængder skrivninger på tværs af forskellige placeringer i klyngen).




  1. Brug af DBCC CLONEDATABASE og Query Store til test

  2. Ajax-opkald returnerer hele siden i stedet for kun ekkoværdien

  3. Konfiguration af lageropsætning [fil vs. database]

  4. Uønsket afrunding af DateTime i SQL Server