Я собираюсь создать систему голосования для веб-приложения и задаюсь вопросом, как лучше всего сохранить голоса в базе данных (SQL).
Система голосования похожа на систему голосования в StackOverflow. Сейчас я размышляю, стоит ли мне хранить голоса "за" и "против" в разных таблицах Таким образом, легче подсчитать все голоса, соответственно. вниз голосов. С другой стороны, мне нужно запросить две таблицы, чтобы найти все голоса за пользователя или проголосовавшего.
Альтернативой может быть одна таблица с логическим полем, которое указывает, является ли этот голос "за" или "против". Но я думаю, что подсчет голосов вверх или вниз идет довольно медленно (когда у вас много голосов), и индекс по логическому полю (насколько я знаю) не имеет большого смысла.
Как бы вы создали структуру базы данных? Один или два стола?