Mam zamiar zmienić niektóre moje jednostki z tożsamości na hilo id-generator.Generator NHibernate i hilo: jak zaprojektować kluczowe stoły?
Nie mam pojęcia, jak powinny być zaprojektowane tabele zawierające wartości o następnych wysokich wartościach.
- Czy należy używać pojedynczej tabeli dla wszystkich podmiotów lub grupy powiązanych podmiotów?
- Czy powinienem użyć innej tabeli dla każdej jednostki?
- Czy należy używać pojedynczej tabeli z innym wierszem lub kolumną na jednostkę?
Czy są jakieś sprawdzone metody? Co należy wziąć pod uwagę? Czy są jakieś plusy lub minusy dla każdego z podejść?
Więc należy rozważyć użycie oddzielnych tabel? Spór: czy masz na myśli równoległe transakcje? W jaki sposób pojedyncza tabela wpływa na wydajność? Przez blokady na nim? Z drugiej strony, przy korzystaniu z wielu tabel dostępnych jest więcej wyborów i aktualizacji, po jednym dla każdej tabeli dotkniętej problemem. Przydatna może być mieszanka: tabela dla każdej grupy powiązanych tabel. –
Tak, używałbym oddzielnych tabel ze względu na blokady. Ilość wyborów/aktualizacji jest taka sama, ponieważ wartości generatora nie są współużytkowane przez klasy, nawet jeśli używa się tej samej tabeli. Ponownie, należy pamiętać o kluczowej koncepcji: jest to po prostu użycie tabeli jako generatora sekwencji. –
Dlaczego liczba wyborów/aktualizacji jest taka sama? Kiedy mam jedną tabelę, dlaczego powinien wybrać i aktualizować tę samą tabelę dla każdej klasy, której potrzebuje ids? –