Frage

Ich habe eine braun-Feld SQL Server 2005-Datenbank, die den Standard unsortiert GUIDs als die Mehrheit der Primärschlüssel-Werte und auch in Clustered-Indizes verwendet (die für die Leistung schlecht ist).

Wie soll ich mich über diese sequentielle GUIDs zu ändern? Eine der Herausforderungen wäre all die Fremdschlüsselwerte zu ersetzen, wie ich jede der Primärschlüssel ändern.

Sie wissen von Werkzeugen oder Skripte diese Art von Konvertierung durchführen?

War es hilfreich?

Lösung

nicht vergessen, dass Sie nur die NEWSEQUENTIALID () Funktion als Standard verwenden können,

so erstellen Sie eine neue Tabelle mit zwei Spalten. Stecken Sie den Schlüssel von Ihnen Original-Tabelle in diese ein (lassen Sie die andere Säule heraus, es füllt sich)

kommen wieder auf die ursprüngliche Tabelle und aktualisieren Sie die PK mit newsequantialid, wenn Sie Kaskade die FKs aktualisieren sollten selbst aktualisieren

Andere Tipps

Wie wissen Sie, es für die Leistung schlecht ist?

Der Vorteil von GUIDs ist, dass Sie müssen nicht über mehrere Prozesse sorgen Aufzeichnungen zur gleichen Zeit zu schaffen. Es kann Ihren Code erheblich, je nach Programm vereinfachen.

SequentialGuids sind am besten für die Leistung, wenn die Guid der PK ist. Dies ist der Grund für ihre Existenz.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top