@neronru

Как сделать индекс для пользовательской сортировки?

В общем имеется таблица items(id,category_id,c1,c2,c3,c4), где id - первичный ключ, category_id - категория предмета, и имеются некоторые параметры(c1,c2,c3,c4), причем у этих параметров есть некоторые ограничения: c1 - может принимать значения 1 или 2, c2 - от 1 до 100, c3 - от 1 до 100, с4 - это UNIX timestamp. Необходимо создать индекс для следующего запроса: SELECT * FROM items WHERE category_id = $1 ORDER BY $2 DESC, $3 DESC, $4 DESC, $5 DESC. Где все в ORDER BY это параметры c с1 по c4, которые определяются пользователем. Кстати, отдельный случай может быть, когда некоторые поля могут отсутствовать, то есть просто быть ORDER BY $2 DESC, $3 DESC. Индекс для такого я не знаю как сделать, в этом собственно и вопрос. Есть возможность реализовывать это вне SQL.
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347
Crazy on performance...
Вешайте общий индекс на все 4 поля
Ответ написан
Ваш ответ на вопрос

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

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