Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]usuwanie rekordów z dużych baz danych
Forum PHP.pl > Forum > Przedszkole
emeres1
Witam,
mam krótkie,banalne pytanie ,a mianowicie jeśli usuwam rekord z bazy danych powinienem użyć usunąć go całkiem za pomocą DELETE czy np. w polu 'status' zmienić wartość z active na deactive. Ktoś mi powiedział ,że tak się powinno robić.Proszę o radę jak Wy to robicie.

pozdrawiam
sajegib
To zależy czy ci się jeszcze do czegoś przyda ten rekord. Jeśli nie - robisz DELETE. Rób jak ci wygodnie
emeres1
zastanawiałem się nad tym pod kątem losowego rekordu ,rand() przy dużej ilości rekordów z tego co czytałem nie zdaje egzaminu ,a jedyne co przychodzi mi do głowy do losowa liczba i WHERE id= ,ale wtedy baza nie może być dziurawa;)
sajegib
jesli chcesz zresetowac ID to robisz:
  1. ALTER TABLE tablename AUTO_INCREMENT = 1
- wtedy nie bedizesz miec dziur

Swoją drogą, nie rozumiem celu usuwania losowego rekordu biggrin.gif
mmmmmmm
W bardzo dużych bazach lepiej zrobić deactiv. Usunięcie wiąże się ze zmianą wszystkich indeksów, a to może trochę potrwać.
Na pewno update (zmiana wartości jednego pola) jest szybszy.
A dziury - no cóż, muszą być. w końcu tabele to ZBIORY.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.