Задать вопрос
qualitat
@qualitat

Как еще оптимизировать запрос без связей в таблице с 4 млн записей?

Уважаемые друзья.

Прошу помощи в оптимизации следующего запроса. Упростил как мог, оставив только главные критерии.

Исходные данные:
- таблица товаров в 4 млн записей;
- время выполнения данного запроса 4,5 секунды.

SELECT  * 
FROM  `items` 
WHERE ((STATUS =1) AND (`category_id` NOT IN ( 586, 592 )))
AND (type_transaction =2)
ORDER BY auction_order DESC 
LIMIT 100 
OFFSET 100


Кэширование применяю на сколько возможно, т.к. имеются постоянно меняющиеся данные.

Чувствую что ответ кроется в совместных индексах по этим полям.

Почти уже пошел более детально изучать индексы :)

Заранее спасибо за ответы.
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Ускорить запрос = сделать индексы. Как вы вообще проектируете БД, не зная про индексы? Идите читайте.
Любой вопрос про оптимизацию запроса должен включать в себя вывод результата двух запросов:
SHOW CREATE TABLE <tablename>; -- или его аналоги для вашей СУБД
и
EXPLAIN <query>;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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