|
|
|
| Есть таблица в которой довольно много записей 6-10 млн, при этом используется 3-4 ключа. Данные занимают около гигабайта.
Проблема в том что при удалении большого количества строк(50-200к) запросы выполняются очень долго.. Иногда просто виснет МуSQL.
Один из советов который мне дали это переносить все нужные данные в такую же таблицу, потом удалять старую и переименовать новую, будет ли этот медот работать быстрее, всетаки не маленькую табличку копировать прийдется.
Может кто-то сталкивался с такой проблемой, подскажите как вы ее решили.
Вот... unixdate это индексированое поле, почему он так долго удаляет?
mysql> select count(*) FROM `table` WHERE `unixdate` <1211271714 -60 *60 *24 *26-82000;
+----------+
| count(*) |
+----------+
| 4062 |
+----------+
1 row in set (0.01 sec)
mysql> delete FROM `table` WHERE `unixdate` <1211271714 -60 *60 *24 *26-82000;
Query OK, 4062 rows affected (6 min 9.52 sec)
|
| |
|
|
|
|
|
|
|
для: Ученик
(20.05.2008 в 14:10)
| | Можно попытаться отключить ключи на это время
ALTER TABLE tbl_name DISABLE KEYS;
|
Потом включить
ALTER TABLE tbl_name ENABLE KEYS;
|
| |
|
|
|