Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: szybkie czyszczenie bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
aladin07
jaki sposob jest najszybszy zeby wyczyscic baze danych ze wszystkich rekordow we wszystkich tabelach?

delete
truncate

a moze w ogole skasowanie calej bazy i utworzenie jej od nowa?smile.gif
zastanawiam sie jak to robic zeby trwalo to jak najkrocej i najmniej obciazalo serwer
a ze baza ma wielkosc ponad 3GB - jest tam dobrych kilka milionow rekordow w 9 tabelach InnoDB to trwa
to jednak dosyc dlugie minuty na moim vpsi'e 1,1GHz

jakies sugestie dla takiej codziennej operacji?
phpion
TRUNCATE jest na pewno dużo szybsze niż zwykłe DELETE. Czy od TRUNCATE dla każdej tabeli będzie szybsze usunięcie całej bazy i postawienie tabel na nowo? Tego nie wiem. Ja bym pozostał przy TRUNCATE.
SzamanGN
W manualu opisali to dokładnie:
DELETE - usuwa rekord po rekordzie.
TRUNCATE - usuwa całą tabelę i tworzy nową pustą.

Pamiętaj, że w manualu są podane przykłady, przy których TRUNCATE jest wykonywane tak jak DELETE.
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.