Autor Zpráva
Parsek96
Profil *
Ahoj, prosim o radu. Potreboval bych z databaze vymazat cca milion zaznamu, dle urcene podminky. Bohuzel v tuto chvili se na DB mohu dostat pouze pres PhpMyAdmin. A deje se mi toto, pokud zadam mazat dle urciteho vyberu, po chvili mi to nahlasi connection timeout. Dari se mi mazat, pokud nastavim limit 5000. Jenze pak je tu potiz, ze bych ten milion mazal opravdu dlouho. Nevite nekdo, jak na to?
ninja
Profil
Jaký typ tabulky? Má cizí klíče a indexi? Select se stejnou podmínkou trvá stejně dlouho?
Parsek96
Profil *
Zadne cizi klice ani indexy tabulka nema, pouze 3 sve vlastni. Select se stejnou podminkou se v pohode provede, chvili to trva, ale provede se.
Kajman
Profil
Parsek96:
Pokud mažete více řádků, než tam zůstane, může být rychlejší vytvořit dočasnou tabulku s daty na zachování. Trucnout mazanou tabulku a řádky z dočasné vrátit do původní.

Je ta tabulka typu myisam nebo innodb? Při myisam můžete zkusit
DELETE QUICK ...
s následnou opravou indexů
OPTIMIZE TABLE ...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: