лучше сделать, для того чтобы получить среднюю оценку пользователей?
Самое простое это посчитать среднее по всем записям с помощью AVG. Но если записей становится очень много то это будет очень долго. Можно еще при добавлении каждой записи пересчитывать среднее, но это тоже лишние операции. Еще думаю можно раз в день пересчитывать рейтинг.
... то это будет очень долго - насколько долго?
неоправданно долго. если система будет постоянно расти и масштабироваться, там может быть и миллион записей и при каждом запросе вычислять среднее по ним неразумно
Ну то есть статистика не собрана, точные цифры неизвестны и масштаб проблемы неясен Ок
А зачем здесь статистика? Я пытаюсь найти ответ для более общего случая, мне интересен сам подход, а не просто разобраться с моей задачей
Вряд ли есть универсальный общий случай. В зависимости от размера бд и нагрузки может лучше будет крон, а может лучше будет считать на лету
Статистику храни в таблице, а потом пересчитывай просто. Ничего сложного же. Операции базы за тебя всё сделают, если поищешь
Насколько точно тебе надо? Можно пересчитывать раз в день или неделю и потом как бы из "кэша" давать инфу
Да, я думаю это наилучший вариант.
Обсуждают сегодня