Reply To: Site Errors and Suggestions
It doesn’t remember who rated, or track individuals rating – this is because non registered users can also rate – there would excessive data if we tracked all users ratings on the off chance they want to change their rating.
Well currently non-registered user cannot rate, just tried it.
Also you are actually tracking if user has voted or not, since I can’t rate twice. And that is stored server side, because I tried another browser and I still couldn’t rate twice.
And it doesn’t matter if you wouldn’t you can just do it like this:
averageRating -= averageRating / amountOfRatings averageRating += newRating / amountOfRatings
Tracking user rating might not even need any more data than storing only if he has voted. At least in MySQL 5.0.3 Boolean is stored in tinyint which takes up one byte instead of one bit.