fast-je
@fast-je
Пишу на php.

Как быстро удалять записи из большой таблицы?

Всем привет!
В таблице порядка 500к записей.
Может на удаление быть 1 запись, а может 1000.
DELETE FROM `tb_ads_mails_visits` WHERE `money`=0.00000 and `date` < UNIX_TIMESTAMP() - (24*60*60);

Но анализируются все записи, все 500к записей, соотвественно а потом еще и удаляются по одной. А не все сразу.
Запрос данный выполняется иногда быстро, а иногда более 1 секунды, как можно удалять быстро записи все подходящие записи ?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
kimono
@kimono
Web developer
Индекс на money + date может ускорить поиск соответствий.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MaximaXXl
Если Вы не вставляете записи в прошлый период (например минус 30 дней) работайте с параметрами
`date` between UNIX_TIMESTAMP() - (30*24*60*60) and UNIX_TIMESTAMP() - (24*60*60);
таким образом Вы не будете перебирать "архивные" данные. А раз в месяц можно и все прогнать ... ну это на логику надо смотреть
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы