У меня есть то, что должно быть простым запросом:
DELETE FROM schema_a.table_a
WHERE column_a = 'VALUE_A' AND column_b NOT IN (SELECT id FROM schema_b.table_b)
Но этот запрос очень медленный. Запуск EXPLAIN показывает, что подзапрос имеет тип «ЗАВИСИМАЯ ПОДПИСЬ», то есть он будет выполняться столько раз, сколько строк во внешнем запросе. Но почему это происходит? Я не вижу никакой связи между внутренним запросом и внешним запросом.
Интересно то, что даже если я заменим DELETE FROM
на SELECT * FROM
, внутренний запрос будет иметь тип "SUBQUERY" -> то есть он будет выполняться очень быстро.
Я хотел бы знать, почему разница в EXPLAIN
для этого. Любая помощь приветствуется.