Autor | Zpráva | ||
---|---|---|---|
Parsek96 Profil * |
#1 · Zasláno: 18. 1. 2013, 10:00:41
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 |
#2 · Zasláno: 18. 1. 2013, 10:12:58
Jaký typ tabulky? Má cizí klíče a indexi? Select se stejnou podmínkou trvá stejně dlouho?
|
||
Parsek96 Profil * |
#3 · Zasláno: 18. 1. 2013, 10:21:37
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 |
#4 · Zasláno: 18. 1. 2013, 15:50:54
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 ... OPTIMIZE TABLE ... |
||
Časová prodleva: 11 let
|
0