Я работаю на веб-сайте, который имеет 10-звездную рейтинговую систему. Все рейтинги сохранены в tbl_rating и имеют атрибуты:Средняя оценка ценность
id
heading
description
rating (number of stars, 1 to 10)
shop_id (each rating belongs to a shop - my site is a catalog of shops)
Мой вопрос, как это лучший способ подсчета среднего рейтинга для магазина (basicaly нужно только просуммировать все рейтинги с конкретной shop_id и разделить их на количество этих рейтингов). В каждом магазине также есть столбец avg_rating, где я могу сохранить значение.
Есть ли способ рассказать базе данных MySql, чтобы посчитать эту статистику каждый час? Должен ли я считать это после каждого нового поданного рейтинга или даже каждый раз, когда запрашивается атрибут магазина avg_rating? Есть ли способ сообщить базе данных об этом автоматически или мне нужно запустить эти действия с PHP? Я использую PHP, структуру Yii и базу данных MySQL.
Спасибо за любую помощь.
Вы всегда можете использовать 'cron' для запуска скрипта' php' каждый час, который его вычисляет. – chriz