Pracuję z klientem, który chce dodać znaczniki czasu do wielu tabel, aby sortować je w kolejności chronologicznej. Wszystkie tabele mają także pole przyrostowe z automatyczną inkrementacją jako klucz podstawowy (identyfikator).Sprawdzone metody SQL - czy w celu automatycznego sortowania wierszy można polegać na polu automatycznego przyrostu?
Pomysł (prosty) - zapisać narzut/magazyn i polegać na kluczu podstawowym, aby posortować pola chronologicznie. Oczywiście, że to działa, ale nie jestem pewien, czy to podejście jest dopuszczalne w projektowaniu bazy danych dźwięku.
Plusy: mniej przechowywania wymagane za rekordem, prostsze klasy VO itp itd
Con: oznacza to cechę tej dziedzinie, skądinąd prostej identifer, którego definicja nie w żaden sposób zdefiniować lub gwarancji, że powinien/będzie działać jako taki.
Założono dla mojego pytania, że definicje tabel DB są ustawione w kamieniu. Nadal - czy jest to dopuszczalne z punktu widzenia najlepszych praktyk?
Dzięki
Jak myślisz, w jaki sposób osobny, np. "numer sekwencji" byłby bardziej "dźwięk" w twoim projekcie? Myślę, że poleganie na autonumerii jest całkiem dobrą opcją - z pewnością przynajmniej tak solidną i mocną, jak każdy inny "ręczny" proces, który możesz sam wprowadzić. –
Jak zauważyłeś "to oznacza pewną charakterystykę". O ile nie zostało to zdefiniowane, niezależnie od tego, jakie zachowanie "zawsze widzisz", powinno być uważane za przypadkowe i podlegające zmianom zazwyczaj w najgorszym możliwym momencie. Oświadczyłem to szeroko, ponieważ zasada ta ma szerokie zastosowanie w odniesieniu do Państwa problemu, jak również każdej innej. – msw
Auto_increment jest tylko znacznikiem referencyjnym dla rekordu; datetime obsługuje rekordy z poprzedniej wersji, ponieważ identyfikator nie byłby sekwencyjny. –