Frage

Wir wanderten viele Daten aus unserem alten Bestellsystem. Dieses System der Benutzer Initialen in unserer „Orders“ Tabelle für jede Reihenfolge ihrer Erstellung gespeichert. Nun, da wir eine Ansicht, die in Active Directory aussieht würde Ich mag diese Initialen mit dem aktiven Verzeichnis objectGUID aktualisieren (oder etwas, das die GUID verweist). Dies würde es uns ermöglichen, die Benutzer Initialen in Active Directory zu ändern, ohne sich um die Aktualisierung der „Orders“ Tabellensätze zu sorgen.

Ich habe gelesen, dass Index-Performance ist glanzlos, wenn guids vs Ints verwendet wird. Ein Weg, um dies möglicherweise zu lösen, ist eine Tabelle, die guids zu Ints Karten dann speichern Sie den int-Wert in unserer Auftragstabelle. Wäre das eine gute Idee? Irgendwelche Gedanken?

War es hilfreich?

Lösung

Ich gehe davon aus, dass ein USER Einheit existiert bereits in der Datenbank-Design jedoch, wenn es dann nicht tut Ich glaube, Ihre Lösung wird es erforderlich ist.

So vorausgesetzt, die USER Einheit existiert, wie Sie beschrieben haben, können Sie die Benutzer-ID platzieren (int) auf den Aufträge Tabelle, damit im Zusammenhang alle relevanten USER Details zu einer ORDER , anstatt nur Initialen (Anmerkung: Initialen sollten wohl nicht auf der gespeichert werden, Tabelle, sondern die USER oder USER_DETAILS Tabelle, wenn auch nicht im Mittelpunkt dieser Diskussion).

Sie können dann die GUID Spalte auf die USER-Tabelle hinzufügen. Ich glaube nicht, eine separate Nachschlagtabelle erforderlich ist.

Sinn?

Andere Tipps

Index Performance auf GUIDs unterscheidet sich nicht von anderen Indizes auf einem 16-Byte-Feld im Allgemeinen. Wo die GUID für die Leistung tödlich ist, wenn man sie als Clustering-Schlüssel auf einer SQL Server-Tabelle verwenden.

Die SQL Server-Tabelle ist der gruppierte Schlüssel und physisch mit diesem Schlüssel bestellt. Da die GUIDs von Natur aus völlig zufällig ist, führt dies zu massiver Indexfragmentierung sehr schnell, und somit erfordert a) konstanten Vorschub und Pflege und Sanierung, aber b) leidet nach wie vor, auch wenn Sie jede Nacht neu zu organisieren. Also wirklich, die beste Praxis wäre GUIDs zu vermeiden (auch die neue „sequential“ GUIDs) für Ihre Gruppierungsschlüssel.

Für weitere Hintergrundinformationen und einige ausgezeichnete Zuschreibung auf, warum GUIDs machen sehr schlecht gruppierten Tasten finden Sie im Blog der „Queen of Indexing“, Kimberly Tripp:

Ihre Einsicht ist wertvollste - lesen, verinnerlichen sie, folgen Sie es! Sie werden es nicht bereuen.

Marc

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