Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was sind die Unterschiede zwischen einem geclusterten und einem nicht geclusterten Index?

Gruppierter Index

  • Nur einer pro Tisch
  • Schneller zu lesen als nicht geclustert, da Daten physisch in Indexreihenfolge gespeichert werden

Nicht geclusterter Index

  • Kann mehrmals pro Tisch verwendet werden
  • Schneller für Einfüge- und Aktualisierungsvorgänge als ein gruppierter Index

Beide Indextypen verbessern die Leistung, wenn Daten mit Feldern ausgewählt werden, die den Index verwenden, verlangsamen jedoch Aktualisierungs- und Einfügevorgänge.

Aufgrund des langsameren Einfügens und Aktualisierens sollten geclusterte Indizes auf ein Feld gesetzt werden, das normalerweise inkrementell ist, dh Id oder Timestamp.

SQL Server verwendet normalerweise nur dann einen Index, wenn seine Selektivität über 95 % liegt.