SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.10.2011 16:35:22

b0lt1k
Участник
Зарегистрирован: 17.10.2011
Сообщений: 2

Оптимизация запроса select с сортировкой

Здравствуйте!

Имеется запрос примерно такого вида

select * from `shop` where `category`='1' and ... order by `price` limit 0,30

category - индексное поле, всего может принимать пять значений

В результате запроса будет проверено около 20% всей таблицы, и показано только первые 30 записей. Всего в таблице более 10 000 записей.

Вопрос вот в чем, будет ли этот запрос выполняться быстрее, если поле price, по которому идет сортировка, сделать индексным?

Неактивен

 

#2 17.10.2011 22:18:07

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Оптимизация запроса select с сортировкой

Индексным нужно сделать не поле price, а создать составной индекс, в конце которого будет price. Если Вы приведете запрос полностью, то скажу точнее, а на запрос;

select * from `shop` where `category`='1' order by `price` limit 0,30

подойдёт индекс (category,price);

Отредактированно deadka (17.10.2011 22:27:26)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 18.10.2011 14:32:04

b0lt1k
Участник
Зарегистрирован: 17.10.2011
Сообщений: 2

Re: Оптимизация запроса select с сортировкой

deadka, спасибо, смысл теперь понятен.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson