Ich habe nur ein paar Monate in SQL Server programmiert, daher sind meine Kenntnisse in vielerlei Hinsicht nicht gut. In einem bereits vorhandenen Projekt stieß ich auf viele Tabellen mit großen zusammengesetzten Primärschlüsseln mit Clustered-Index. Nach dem, was ich zusammengetragen habe, beeinträchtigt eine große Spalte / zusammengesetzte Spalte mit gruppiertem Index die Leistung sehr stark, und manchmal ist die logische Lösung eine Identitätsspalte. Gleichzeitig bin ich auf viele Menschen gestoßen, die die übermäßige Verwendung von Identitätsspalten in Flammen gesetzt haben.
Aber ich bin noch nie auf ein Beispiel gestoßen, bei dem eine Identitätsspalte eine schlechte Idee ist.
Kürzlich haben wir standardisiert, dass jede Tabelle eine Identitätsspalte als Clustered-Index haben soll - unabhängig davon, ob wir sie als PK verwenden oder nicht, da wir sie für einige Exportzwecke benötigen.
Daher möchte ich einige Beispiele in realen Szenarien, in denen die Verwendung einer Identitätsspalte als Clustered-Index eine schlechte Idee ist.
Obwohl es manchmal unser Leben leichter macht, bin ich nie auf ein Szenario gestoßen, in dem es als schlecht angesehen wird.
PS: Ich denke, meine Frage ist ein bisschen naiv, aber sie nervt mich so sehr, dass ich danach fragen musste.
INT IDENTITY
als Primärschlüssel (und Clustered-Schlüssel) für fast jede Tabelle zu verwenden. Es ist eine empfehlenswerte Best Practice und funktioniert normalerweise einwandfrei. Fälle, in denen dies keine gute Idee ist, sind meiner Meinung nach relativ selten.