Ich bin dabei, einige meiner Entitäten von Identität zu hilo id-Generator zu wechseln.NHibernate und hilo generator: Wie man Schlüsseltabellen gestaltet?
Ich habe keine Ahnung, wie die Tabellen mit den nächst höheren Werten entworfen werden sollten.
- sollte ich eine einzelne Tabelle für alle Entitäten oder für eine Gruppe verwandter Entitäten verwenden?
- sollte ich für jede Entität eine andere Tabelle verwenden?
- sollte ich eine einzelne Tabelle mit einer anderen Zeile oder Spalte pro Einheit verwenden?
Gibt es Best Practices? Was muss beachtet werden? Gibt es irgendwelche Vor- oder Nachteile für einen der Ansätze?
Sie würden also separate Tabellen verwenden? Konkurrenz: meinst du gleichzeitige Transaktionen? Wie sollte eine einzelne Tabelle die Leistung beeinträchtigen? Durch Schlösser darauf? Auf der anderen Seite, wenn Sie viele Tabellen verwenden, gibt es mehr Auswahl und Aktualisierungen, eine für jede betroffene Tabelle. Eine Mischung könnte nützlich sein: eine Tabelle für jede Gruppe verwandter Tabellen. –
Ja, ich würde wegen der Sperren separate Tabellen verwenden. Die Anzahl der Auswahlen/Aktualisierungen ist gleich, da Generatorwerte nicht zwischen Klassen aufgeteilt werden, selbst wenn Sie dieselbe Tabelle verwenden. Denken Sie wieder an das Schlüsselkonzept: Es wird nur eine Tabelle als Sequenzgenerator verwendet. –
Warum ist die Anzahl an Selects/Updates gleich? Wenn ich eine einzelne Tabelle habe, warum sollte sie dieselbe Tabelle für jede Klasse auswählen und aktualisieren, für die sie IDs benötigt? –