Małe adresy URL lubią używać losowych tokenów, ponieważ wtedy nie można po prostu trollować małych linków URL. "Gdzie idzie numer #2?" "Fajnie!" "Gdzie idzie #3?" "Jeszcze fajniej!" Możesz wpisywać losowe znaki, ale jest mało prawdopodobne, że trafisz prawidłową wartość.
Ponieważ klucz jest raczej rzadki (4 wartości każda z 36* możliwościami daje 1 679 616 unikalnych wartości, 5 daje 60 466 176) prawdopodobieństwo kolizji jest małe (w rzeczywistości jest to pożądana część projektu), a dobry indeks SQL sprawi, że wyszukiwanie będzie trywialne (w rzeczywistości jest to podstawowe wyszukiwanie adresu URL, więc optymalizują wokół niego).
Jeśli naprawdę chcesz uniknąć wyszukiwania i po prostu wyłączyć automatyczne zwiększanie, możesz utworzyć funkcję, która zamienia liczbę całkowitą na ciąg pozornie losowych znaków z możliwością konwersji z powrotem. Tak więc „1” staje się „54jcdn”, a „2” staje się „pqmw21”. Podobne do kodowania Base64, ale bez użycia kolejnych znaków.
(*) Właściwie lubię używać mniej niż 36 znaków - pojedynczą literą, bez samogłosek i bez podobnych znaków (1, l, I). Zapobiega to przypadkowym przekleństwu, a także ułatwia komuś przekazanie wartości komuś innemu. Mapuję nawet podobne znaki, przyjmując „0” za „O”. Jeśli jesteś całkowicie oparty na maszynach, możesz użyć wielkich i małych liter oraz wszystkich cyfr, aby uzyskać jeszcze większe możliwości.