Задать вопрос
@yazhog

Как оптимизировать запрос DELETE?

Есть таблицы t1и t2по 50к записей (на данный момент).

И запрос вида:
DELETE FROM `t1` WHERE `samestring` = 'foobar'
AND sameint IN (SELECT `sameint` FROM `t2` WHERE `anotherstring1` = 'putin' AND `anotherstring2` = 'vodka');

из t2 выбирается около 10к записей, удаляется около 8к записей из t1

Запрос выполняется 7 минут на VPS с 1 ядром, 512mb ram, hdd
  • Вопрос задан
  • 188 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
DELETE `t1`
  FROM `t1`
  JOIN `t2` 
    ON `anotherstring1` = 'putin' AND `anotherstring2` = 'vodka' 
      AND `t1`.`sameint` = `t2`.`sameint`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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