Forum Webscript.Ru
Общие => Базы данных => Тема начата: Phoinix от 28 Ноября 2004, 17:06:36
-
Есть таблица:
table my_table
-------------------------
id - INT(11) - AUTO_INCREMENT,
name - VARCHAR(100),
rank1 - INT(11),
rank2 - INT(11),
rank3 - INT(11)
...
поля rank- - различные типы рейтинга, при выборке списка, я произвожу сортировку по рейтингу, но при этом рейтинг вычисляется по формуле:
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 нет функциональных индексов