Задать вопрос
@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
  • Вопрос задан
  • 191 просмотр
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
DELETE `t1`
  FROM `t1`
  JOIN `t2` 
    ON `anotherstring1` = 'putin' AND `anotherstring2` = 'vodka' 
      AND `t1`.`sameint` = `t2`.`sameint`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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