У меня медленный запрос в php для большой таблицы MyISAM mysql:
select p.*, m.*, d.*
from datafeeds as d,
products as p left outer join meta as m on p.mykey = m.mykey
where p.datafeed_id = d.id and "keyword"
Таблица содержит 3 миллиона записей, и в некоторых случаях этот поисковый запрос занимает до 50 секунд.
Я был бы более чем благодарен за подсказку по оптимизации запроса и / или таблицы и индексов.
datafeed_id имеет индекс BTREE mykey_index имеет индекс BTREE
Я попробовал EXPLAIN EXTENDED:
ОБЪЯСНИТЬ РАСШИРЕННЫЙ ВЫБОР с.* м*, д.* ОТ каналов данных КАК d, продукты КАК ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ МЕТАСМ ВКЛ p.mykey = m.mykey ГДЕ p.datafeed_id = d.id И "ключевое слово"
id |select_type |стол |тип |возможные_ключи |ключ |key_len |ref |строки |Extra 1 |ПРОСТО |NULL |NULL |NULL |NULL |NULL |NULL |NULL |Невозможно ГДЕ