[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Из за ORDER BY запрос идет ДОЛГО....
Evil_Google
Хай народ Вот у меня есть таблица с 40 000 новостями.
Я делаю запрос с join-нами

select `news`., `categories`.
from `news`
inner join `category2news` on `news`.`id` = `category2news`.`news_id`
inner join `categories` on `categories`.`id` = `category2news`.`category_id`
order by `news`.`id`
LIMIT 6


Вроде не каких проблем не должно быть, но ТУТ из за ORDER BY запрос выполнятеся 16 секунд :( Если ORDER BY убрать то запрос происходит моментально :)

Тут ORDER BY начинает тупеть из за JOIN-ов
Как быть? Я не могу сортировку убрать.

_____________
Жадный.... жадный.... жадный кот
waldicom
ты покажи explain запроса

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Valick
Evil_Google, поле news без индекса


_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
Valick, ты имел ввиду поле news.id, я так думаю?


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
sergeiss , хорошенько выспаться мне бы не помешало smile.gif


_____________
Стимулятор ~yoomoney - 41001303250491
VeRTak
скорее всего

news_id и category_id без индекса

Но как сказал waldicom покажи EXPLAIN
Evil_Google
Хай. Поиграл с индексами и получилось 2-х уменьшить время запроса до 8 секунд, но это полюбому оооочень много.

Картина

Вот так выглядит запрос в реальности

_____________
Жадный.... жадный.... жадный кот
Kusss
По все полям, которые участвуют в поиске, должен быть Индекс.
Судя по эксплейну не хватает в таблице категорий.
category_id, enable, main.
VeRTak
Evil_Google

А где алиас у order by?

Индекс должен быть составной по следующим полям

у таблицы news
delete
enable
created_at

у таблицы categories
category_id
main


так же стоит заметить что порядок тоже очень важен
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.