Ich habe viele Artikel gelesen, in denen erwähnt wird, dass die Verwendung einer GUID als gruppierter Index (oder Primärschlüssel) in SQL Server zu Leistungsproblemen führen kann.Gibt es Probleme bei der Verwendung von GUIDs als indizierte Felder in SQL Server?
Aufgrund einiger Design-Entscheidungen, brauche ich wirklich ein Feld mit GUID
darin für jede Zeile einer Tabelle.
Wenn ich den Primärschlüssel dieser Tabelle als Autoincrement-Ganzzahl definieren und die GUID
als normale Spalte hinzufügen, die indiziert ist, habe ich ähnliche Leistungsprobleme wie die GUID
als Primärschlüssel?
Edit: Als Randbemerkung, ich weiß, dass GUID als ein Primärschlüssel ist eine schlechte Idee, ich frage, wenn ich Performance-Probleme, wenn ich es als indiziert (nicht geclusterten) Feld gesetzt
Mögliche Duplikate von [Welche Best Practices gelten für die Verwendung einer GUID als Primärschlüssel, insbesondere hinsichtlich der Leistung?] (Http://stackoverflow.com/questions/11938044/what-are-the-best-practices-for- -a-guid-as-a-primary-key-special-rega) –
Ich lese auch viele Artikel wie das. Aber dann habe ich versucht, mich selbst herauszufinden, indem ich eine T-SQL-Schleife erstellt habe und über Nacht gegangen bin. Zu meiner Überraschung war die Ladezeit der Seite fast die gleiche wie zuvor, außer für die erste Anfrage nach dem Build. Um genau zu sein gab es 4.5 Lakhs Einträge in der db –
, wenn Sie wie zuvor sagen, dass Sie, wenn Sie den Primärschlüssel in autoincrement int geändert haben, und ein Feld als indizierte Guid verlassen, die gleichen Ergebnisse als wenn Sie guid als hatten ein Primärschlüssel? – Cruces