sql >> Database >  >> RDS >> Sqlserver

Hoe de geclusterde index in SQL Server kiezen?

Volgens The Queen Of Indexing - Kimberly Tripp - wat ze zoekt in een geclusterde index is voornamelijk:

  • Uniek
  • Smal
  • Statisch

En als u ook kunt garanderen:

  • Steeds toenemend patroon

dan heb je bijna je ideale clustersleutel!

Bekijk haar hele blogpost hier , en nog een heel interessante over het clusteren van belangrijke effecten op tabelbewerkingen hier:Het geclusterde indexdebat gaat door .

Iets als een INT (in het bijzonder een INT IDENTITY) of mogelijk een INT en een DATETIME zijn ideale kandidaten. Om andere redenen zijn GUID's helemaal geen goede kandidaten - dus misschien heb je een GUID als je PK, maar cluster je tafel er niet op - het zal onherkenbaar gefragmenteerd zijn en de prestaties zullen eronder lijden.



  1. Mysql DateTime groep met 15 minuten

  2. Hoe te groeperen op user_id en te bestellen op desc

  3. MySQL:resultaat met meerdere rijen versus resultaat met één rij

  4. Wat is het verschil tussen een hash-join en een merge-join (Oracle RDBMS)?