Copying to tmp table - 100 секунд - MySQL

Узнай цену своей работы

Формулировка задачи:

Локально под WINDOWS 10 используется XAMPP. В таблицах по 17 тыс. записей. Следующий запрос:
Листинг программы
  1. SELECT
  2. i.*
  3. FROM
  4. qf_items AS i
  5. LEFT JOIN qf_filter_price AS price ON price.qf_item = i.qf_id
  6. LEFT JOIN qf_filter_instock AS instock ON instock.qf_item = i.qf_id
  7. WHERE
  8. i.qf_parent = 3
  9. AND price.qf_value > 0
  10. AND instock.qf_value IN (122, 123, 124)
  11. GROUP BY
  12. i.qf_id
  13. ORDER BY
  14. price.qf_value
  15. LIMIT 0,
  16. 16
выполняется более 100 секунд! EXPLAIN:
1 SIMPLE price range PRIMARY,item, value,item,value value 4   8121 Using where; Using index; Using temporary; Using filesort
1 SIMPLE i eq_ref PRIMARY,qf_id PRIMARY 4 jewel.price.qf_item 1 Using where
1 SIMPLE instock ref PRIMARY,item, value,item,value PRIMARY 4 jewel.price.qf_item 1 Using where; Using index
Профилирование запроса: Всё началось вчера. До этого больше месяца все локальные запросы тоже отрабатывались быстро. Но при переносе БД на рабочий сервер со всей структурой и всеми данными всё просто летает и сейчас. Может что сломалось локально?! Буду рад ответам. Заранее спасибо.

Решение задачи: «Copying to tmp table - 100 секунд»

textual
Листинг программы
  1. SHOW VARIABLES WHERE Variable_name LIKE '%buffer%';

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут