Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизация запроса / 10 сообщений из 10, страница 1 из 1
14.09.2005, 00:26:29
    #33267596
Dima S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Этот запрос (с группировкой):
Код: plaintext
1.
2.
SELECT purchase.purchase_guid
FROM purchase
GROUP BY purchase.purchase_guid limit  10 
и этот (с сортировкой):
Код: plaintext
1.
2.
SELECT purchase.purchase_guid
FROM purchase
ORDER BY purchase.rec_created limit  10 
выполняются "влет".


А вот этот запрос (с группировкой + сортировкой):
Код: plaintext
1.
2.
SELECT purchase.purchase_guid
FROM purchase
GROUP BY purchase.purchase_guid ORDER BY purchase.rec_created limit  10 
выполняется жутко долго.

Вопрос: можно ли как-то "поколдовать" над третьим, что-бы он тоже выполнялся быстро, как и первые два?
...
Рейтинг: 0 / 0
14.09.2005, 01:23:46
    #33267614
panch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
А создание индекса по purchase.rec_created
не помогает?

И по моему мнению
запрос

SELECT purchase.purchase_guid
FROM purchase
GROUP BY purchase.purchase_guid limit 10

будет выполнятся быстро только
если таблица упорядочена по столбцу purchase.purchase_guid
.
...
Рейтинг: 0 / 0
14.09.2005, 03:01:35
    #33267637
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Неправда ваша, запрос будет использовать индекс, если в таблице есть он построенный по обоим столбцам, в том порядке, в котором они упоминаются в запросе.
...
Рейтинг: 0 / 0
14.09.2005, 03:09:09
    #33267640
panch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Уточню
При отсутствии индексов в таблице purchase.
Рассматриваемый запрос будет выполнятся быстро только
если таблица упорядочена по столбцу purchase.purchase_guid.
...
Рейтинг: 0 / 0
14.09.2005, 07:30:04
    #33267720
Dims S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Я тоже уточню -
purchase.purchase_guid - первичный ключ
...
Рейтинг: 0 / 0
14.09.2005, 19:12:02
    #33269892
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
В данном случае это несколько ускоряет выборку, но лишь несколько. Оптимальной производительности можно добиться построив такой индекс, как я описал ранее.
...
Рейтинг: 0 / 0
17.09.2005, 18:47:44
    #33275038
panch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
А вот этот запрос (с группировкой + сортировкой):
Код: plaintext
1.
2.
SELECT purchase.purchase_guid
FROM purchase
GROUP BY purchase.purchase_guid ORDER BY purchase.rec_created limit  10 
выполняется жутко долго.

Вопрос: можно ли как-то "поколдовать" над третьим, что-бы он тоже выполнялся быстро, как и первые два?



Код: plaintext
1.
(SELECT purchase.purchase_guid FROM purchase
GROUP BY purchase.purchase_guid limit  10 ) ORDER BY purchase.rec_created 

Заставить его вначале нруппировать, а потом по неключевому реквизиту
сортировать только 10 записей. ??
...
Рейтинг: 0 / 0
17.09.2005, 19:11:18
    #33275047
panch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
А вот этот запрос (с группировкой + сортировкой):
Код: plaintext
1.
2.
SELECT purchase.purchase_guid
FROM purchase
GROUP BY purchase.purchase_guid ORDER BY purchase.rec_created limit  10 
выполняется жутко долго.

Вопрос: можно ли как-то "поколдовать" над третьим, что-бы он тоже выполнялся быстро, как и первые два?



Код: plaintext
1.
(SELECT purchase.purchase_guid FROM purchase
GROUP BY purchase.purchase_guid limit  10 ) ORDER BY purchase.rec_created 

Заставить его вначале нруппировать, а потом по неключевому реквизиту
сортировать только 10 записей. ??
...
Рейтинг: 0 / 0
17.09.2005, 22:20:08
    #33275131
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
Не лучше ли сделать нормальный индекс?
...
Рейтинг: 0 / 0
18.09.2005, 07:11:56
    #33275225
panch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация запроса
DocAlНе лучше ли сделать нормальный индекс?

Это было бы слишком просто....
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизация запроса / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]