sql >> Database >  >> RDS >> Sqlserver

NewSequentialId op UniqueIdentifier geclusterde index

Normaal gesproken maakt u uw indexen met een geschikte FILL FACTOR om voor zo'n scenario lege ruimte te laten op al uw pagina's. Dat gezegd hebbende, wordt de geclusterde index wel opnieuw geordend zodra de lege ruimte is gevuld.

Ik weet dat je niet wilt discussiëren met GUID als een geclusterde sleutel, maar dit is een van de redenen dat het niet wordt aanbevolen.

Wat er zal gebeuren, is dat u een toenemend aantal paginasplitsingen zult hebben, wat zal leiden tot een zeer hoge mate van fragmentatie als u rijen blijft invoegen, en u zult uw index met een hogere frequentie moeten herbouwen om de prestaties in lijn te houden.

Voor een volledige behandeling van het onderwerp is er geen betere bron dan

Kim
Tripp's
Blog

Even terzijde:wanneer u overweegt om uw eigen NewSequentialID-aanmaakfunctie te maken, heeft u waarschijnlijk een ontwerpprobleem en moet u uw plan heroverwegen.




  1. Mysql json datatype count en groupby

  2. Hoe postgres incrementele updates opvragen sinds een bepaald punt (een tijdstempel of een transactie-ID)?

  3. Hoe een door komma's gescheiden tekenreeks in SQL optellen?

  4. MySQL LOAD DATA INFILE:werkt, maar onvoorspelbare lijnterminator