sql >> Databasteknik >  >> RDS >> Sqlserver

NewSequentialId på UniqueIdentifier Clustered Index

Normalt kommer du att skapa dina index med en lämplig FILL FACTOR att lämna tomt utrymme på alla dina sidor för just ett sådant scenario. Som sagt, det klustrade indexet ordnas om när det tomma utrymmet är fyllt.

Jag vet att du inte vill diskutera med GUID som en klustrad nyckel, men detta är en av anledningarna till att det inte rekommenderas.

Det som kommer att hända är att du kommer att få en ökande volym av siddelningar, vilket kommer att leda till en mycket hög nivå av fragmentering när du fortsätter att infoga rader, och du kommer att behöva bygga om ditt index med en högre frekvens för att hålla prestanda i linje.

För en fullständig behandling av ämnet, det finns ingen bättre källa än

Kim
Tripp's
Blogg

Som en sidoanteckning, när du funderar på att skapa din egen funktion för att skapa NewSequentialID, har du förmodligen ett designproblem och bör ompröva din plan.




  1. Oracle/Sybase SQL - få värde baserat på en tidigare post (inte en enkel LAG)

  2. com.mysql.jdbc.PacketTooBigException java

  3. Synkronisera en SQLite-klientdatabas med en MySQL-serverdatabas

  4. Hur fungerar SQLs DISTINCT-sats?