а какой смысл в лефт джойн? какой выйгрыш может быть? у нас раньше он итак стоял, сменили на NOT exitst
Сравните EXPLAIN-ы.
У меня не захотел подтягиваться индекс во второй таблице даже через FORCE INDEX c NOT EXISTS, хотя у вас как бы тянет.
Но смущает длина индекса по первой таблице
Покажите еще
SHOW CREATE TABLE Task
И
SHOW VARIABLES WHERE Variable_Name IN ('innodb_flush_method', 'innodb_flush_log_at_trx_commit', 'innodb_buffer_pool_size');
Разницы не заметили между лефт джойн и not exist. Выбор на втором варианте так как данные из второй таблицы нам не нужны.
А Вы данные со второй таблицы и не запрашивайте, а добавьте в WHERE условие что-то вроде:
AND flow.id IS NULL
в таск есть еще один индекс но он используется в другом скрипте
Вижу в таск 3 индекса
Здравствуйте. Индексы использует
Я имел в виду, в таблице есть другие индексы, которые не используются другими запросами.
А ресурсы на их поддержание тратятся.
По EXPLAIN
Первая таблица - длина индекса - 6 байт. А индекс Task по идее должен быть хотя бы 1+1+1+4 (если cat - 4 байта) = 7 байт.
Эти индексы не фигурируют:
Task ( status, type, provider, cat )TaskFlow (executor_acc_id, url_id )
2 раза
Using where
То есть InnoDB по индексу отдала данные, но mysql пришлось еще их дофильтровывать.
составные индексы созданы по всем полям
Покажите CREATE TABLE
Может у вас неиспользуемые индексы
1. Покажите EXPLAIN
2. Вот сейчас у себя написан запрос с NOT EXISTS и с LEFT JOIN
NOT EXISTS не использовал индексов, в то время как LEFT JOIN использовал и в Extra числилось "Not exists"
Это удобноНо у себя такого пока не сделал
Тяжелые выборки все равно имеет смысл кешироватьСмотрите top процессов
У себя на невордпрессе такое заметил
Посещений робота яндекса таких страниц нет
А реферер яндекс есть
Пару случаев было и с гугла
Возможно это имитация реферера
Обн: При этом в ГА таких входов нет
Нездоровая канитель
Скрыл через Stylus
Скрывает, правда, не всю строку, а только название