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