Ich habe eine Tabelle mit einer IDENTITY-Spalte als Primärschlüssel (eine klassische ID-Spalte).
SQL Server erstellt automatisch einen Clustered-Index für diesen Primärschlüssel.
Meine Frage ist:
Wenn ja, wie kann ich den standardmäßigen gruppierten Index löschen und einen neuen mit diesen Attributen erstellen.
Danke für Ihre Unterstützung
Ja, Sie können nur einen einzelnen gruppierten Index pro Tabelle haben - die Daten sind physisch nach diesem Index angeordnet, so dass Sie nicht mehr als einen haben können.
Ich würde jedoch nicht empfehlen, einen zusammengesetzten gruppierten Index zu verwenden. Warum? Der gruppierte Index sollte immer lauten:
INT IDENTITY ist perfekt als gruppierter Index - ich würde Ihnen raten, es so zu halten.
Die Spalte für den gruppierten Index (oder die Spaltengruppe) wird auch jedem einzelnen Eintrag jedes nicht gruppierten Index für dieselbe Tabelle hinzugefügt. Wenn Sie also Ihren gruppierten Index auf 20, 50 oder mehr Bytes vergrößern, beginnen Sie Sie verschwenden viel Speicherplatz - auf der Festplatte und im Speicher Ihres Servers, was die Systemleistung beeinträchtigt.
Lesen Sie alles über Clustered-Indizes und was sie für gute Clustered-Indizes sein sollten:
Tags und Links sql-server database-design composite-index