Создание рейтингов статьи

simpex

Новичок
Создание рейтингов статьи

Задумал написать систему рейтинга к статьям которые юзеры выкладывают на сайте,
т.е. один юзер может один раз поставить либо +
либо -
и от этого будет меняться рейтинг.

первая мысль

таблица где статьи, добавить в нее поле rate int(12)
создать таблицу rating_log
и хранить в ней ID_ARTICLE,USER_ID(кто проголосовал), enum ('p','m') - значение как проголосовал

по итогу , на аяксе прикрутить голосовалку которая обращается к базе
делает селект есть ли результат голосования для данной статьи, данным юзером
если нет, то updatу articles set rate=rate+1 или -1 в зависимости от выбора юзера
insert to rating_log данные о юзере и его выборе




оптимально?
а если статей будет 10000
и юзеров 5000

тогда в rating_log быстренько 500000 записей наберется, что потом? не будет ли то все тормозить?
может есть что-то оптимальнее?


сразу оговорюсь что установкой куки не обойтись ибо, хочется потом сделать какую-то систему рейтинга юзеров и данные точно надо учитывать.
 

QQQ

Новичок
значит в твоём случае только так, как ты написал
уникальный индекс на id_article/user_id - должен помочь со скоростью. так-же вставку делать без предварительной выборки insert ignore'ом
 

Dovg

Продвинутый новичок
Если у Вас будет 5000 активных зарегистрированных пользователей, то врядли rating_log будет самым тормознутым местом :)
 
Сверху