vous pouvez utiliser ce lot de manière répétée si vous voulez 'réponse'. J'utilise vous n'avez pas un indice (indice serait bien sur la clause where):
DELETE FROM `table`
WHERE (whatever criteria if any)
ORDER BY `id`
LIMIT 1000
Il y a une autre façon que je lis, si jamais essayé:
for i in `seq 1 1000`; do
mysql -e "select id from table_name where (condition) order by id desc limit 1000 " | sed 's;/|;;g' | awk '{if(NR>1)print "delete from table_name where id = ",$1,";" }' | mysql;
done
Si vous cherchez encore Pour accélérer la procédure, essayez cette approche:
CREATE TABLE new_tbl LIKE tbl;
RENAME TABLE tbl TO old_tbl, new_tbl TO tbl;
DROP TABLE old_tbl;
Qu'est-ce que vous considérez comme "aucune réponse"? qu'utilisez-vous pour tronquer? Depuis combien de temps avez-vous attendu? s'il vous plaît être élaboré avec votre question – Emobe