Ich habe eine Anwendung, die GUID als Primärschlüssel in fast allen Tabellen verwendet, und ich habe gelesen, dass es Probleme mit der Leistung gibt, wenn GUID als Primärschlüssel verwendet wird. Ehrlich gesagt, habe ich keine Probleme gesehen, aber ich bin dabei, eine neue Anwendung zu starten, und ich möchte immer noch die GUIDs als Primärschlüssel verwenden, aber ich dachte daran, einen zusammengesetzten Primärschlüssel zu verwenden (die GUID und vielleicht ein anderes Feld).
Ich verwende eine GUID, weil sie gut und einfach zu verwalten sind, wenn man verschiedene Umgebungen hat, z. B. "production", "test" und "dev" Datenbanken, und auch für die Migration von Daten zwischen Datenbanken.
Ich werde Entity Framework 4.3 verwenden, und ich möchte die Guid im Anwendungscode zuweisen, bevor ich sie in die Datenbank einfüge. (d.h. ich möchte nicht, dass SQL die Guid generiert).
Was ist die beste Praxis für die Erstellung von GUID-basierten Primärschlüsseln, um die mit diesem Ansatz verbundenen vermeintlichen Leistungseinbußen zu vermeiden?