Я вижу множество реализаций, таких как Facebook, форум karma, отметка как прочитанная на сообщениях форума и другие простые варианты и варианты, доступные для нескольких пользователей по данному элементу.простой выбор/выбор нескольких пользователей
Я знаю, что могу реализовать это в mysql, создав таблицу, которая связывает идентификаторы сообщений, чтобы сопоставлять идентификаторы пользователей, например, подобную систему.
Моя проблема заключается в том, что на странице с большим количеством сообщений мне придется искать каждый пост. Я использую подготовленные заявления, чтобы сделать это быстрее для меня.
Есть ли другой способ реализовать эти системы, если нет, есть ли оптимизации, такие как типы баз данных или другие настройки, которые могут сделать это быстрее?
В принципе, существует мощная, быстрая реализация взаимодействия многих и многих баз данных.
* EDIT *** Я использую оперу мини и поэтому у меня есть проблемы с AJAX и JS для комментирования
Прямо сейчас, у меня есть таблица с двумя столбцами. Один для идентификатора пользователя, а другой для сообщения post. Оба индексируются и используются во внешних ограничениях ключа. Я подумываю сделать сложный первичный ключ через два.
Моя основная проблема заключается в карме. Я разрешаю пользователям голосовать по каждому сообщению. Проблема в том, что для каждой должности мне нужно получить общее количество голосов, определить, проголосовал ли пользователь, чтобы либо разрешить пользователю голосовать, либо не голосовать.
Мой сайт позволяет многим пользователям размещать свои собственные сайты, и поэтому мне нужно серьезно их оптимизировать.
Кто-то предложил использовать для этого таблицы памяти.
Примечание * * я не могу использовать Memcached.
что у вас до сих пор? – Neal
Предполагая, что «нравятся» редко меняются и часто читаются, система, подобная memcached, действительно работает, * действительно * хорошо и очень быстро ищет 50 элементов для страницы. –
+1 для memcache - Facebook даже выпустил свою оптимизированную версию, которую они используют, скорее всего, для этой конкретной вещи. –