Общие > Базы данных

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

(1/1)

Phoinix:
Есть таблица:

table my_table
-------------------------
id - INT(11) - AUTO_INCREMENT,
name - VARCHAR(100),
rank1 - INT(11),
rank2 - INT(11),
rank3 - INT(11)
...

поля rank[x] - различные типы рейтинга, при выборке списка, я произвожу сортировку по рейтингу, но при этом рейтинг вычисляется по формуле:

SELECT id, name, (rank1/10 + rank2/5 + rank3) AS rank
FROM my_table
ORDER BY rank DESC
LIMIT 10

Объединять эти поля в одно - не нужно, мне нужны отдельные цифры.
Есть ли возможность создать индекс для ускорения расчета рейтинга для сортировки или все же прийдется создать поле rank_all котором будет обновляться при изменении одного из типов рейтинга?

Эксперименты проводить пока не могу - слишком мало записей, поэтому вывод результата всегда быстрый... :)

Макс:

--- Цитировать ---Phoinix:
все же прийдется создать поле rank_all
--- Конец цитаты ---

ИМХО только так.
Потому как в mysql нет функциональных индексов

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии