Autor Wątek: [mySQL] Identyfikacja wpisów  (Przeczytany 3806 razy)

Offline lethern

  • Użytkownik

  • +1
# Grudzień 18, 2016, 19:36:20
kilka tysięcy to rozmiar "pomijalnie małe", ponadto, te dziury nie istnieją - wmawiasz sobie że są jakieś dziury, ale tak naprawdę... Nawet jeśli w tabeli masz ID 1000, a następny 1000000, to co z tego? Położenie rekordów nie jest zależne od ich ID, indeksy raczej też sobie poradzą, w każdym razie - nawet jeśli jakoś to wpływa, nie powinieneś się tym martwić
(na ile +- kojarzę, struktury danych w których siedzą dane tabeli nie są zależne od ID, indeksy po których baza pobiera rekordy - podejrzewam że jakieś pochodne drzew czerwono czarnych - radzą sobie nawet z identyfikatorem w postaci stringa, jakieś "dziury" w integerze im nie powinny być straszne)
To co baza ma pod spodem jest w stanie wydajnie i szybko zarządzać milionami wierszy
Jeśli boisz się, że "licznik się przekręci" (tzn. planujesz ponad kilka miliardów id'ków przewinąć przez tabelę) to ustaw BIGINT (10^19)
« Ostatnia zmiana: Grudzień 18, 2016, 19:45:44 wysłana przez lethern »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline dzemeuksis

  • Użytkownik
    • Blog quodmeturbat

# Grudzień 18, 2016, 22:46:07
Jak Cię tak bolą dziury, to nie usuwaj wpisów naprawdę, tylko oznaczaj jako usunięte (kolumna is_deleted na przykład, albo valid_to, czy jakoś). A przy pobieraniu odpowiednio pomijaj.