Potrzebuję identyfikatorów tekstowych w mojej aplikacji. Mamy na przykład akceptowalny zestaw znaków azAZ09 i dozwolony zakres identyfikatorów [aaa] - [cZ9]. Pierwszy wygenerowany identyfikator to aaa, a następnie aab, aac, aad e.t.c.MySQL: inkrementujący identyfikator w DB
Jak można zwrócić ID & zwiększają dolną granicę w trybie transakcyjnym? (pod warunkiem, że istnieją setki równoczesnych żądań i wszystkie powinny mieć poprawny wynik)
Aby zmniejszyć obciążenie, można zdefiniować 20 różnych zakresów i zwrócić identyfikator z zakresu losowego - powinno to zmniejszyć rywalizację, ale nie jest jasne, jak zrobić pojedynczą operację w pierwszej kolejności.
Należy również pamiętać, że liczba identyfikatorów w zasięgu może przekraczać 2^32.
Innym pomysłem jest posiadanie zakresów 64-bitowych liczb całkowitych i przeliczanie liczb całkowitych-> char id w kodzie oprogramowania, gdzie można to zrobić w sposób asynchroniczny.
Wszelkie pomysły?
Nie możesz po prostu użyć typu całkowitoliczbowego i przekształcić go w razie potrzeby? – PeeHaa
Tak, mogę. To jeszcze nie rozwiązuje zadania - nadal potrzebuję dozwolonych zakresów wsparcia - co oznacza, że zwykła autoreklama nie wykona zadania. – BarsMonster