Я написал действительно простой форум для интеграции в веб-приложение, поскольку я изо всех сил пытался найти легкий и быстрый форум, который позволил мне использовать мои собственные методы проверки подлинности, чтобы решить, кто был или не был действительным пользователем и которые включены в мою тему приложения. Пользователи просят возможность подписаться на темы, чтобы они были уведомлены о ответах - что является лучшим способом сделать это?Подписки на форуме
Я мог бы создать таблицу подписчиков потоков и вводить новую строку каждый раз, когда кто-то подписывается - это может включать в себя множество поисков для занятых потоков на каждом посту и ответе, но будет довольно быстрым в новых подписках с помощью только одной простой вставки.
Другой вариант, который, как я думал, состоял в том, чтобы иметь строку в потоке и иметь поле, где я могу добавить (или прочитать) массив для каждого потока, который содержит все подписанные идентификаторы пользователя. Это ускоряет чтение, поскольку количество обращений к базам данных меньше (т. Е. Когда был получен новый ответ, для получения всех идентификаторов пользователя требуется только один вызов базы данных), но я думаю, что он может быть медленнее для вставок при добавлении нового подписчика так как мне пришлось бы найти строку для потока, получить существующий массив, а затем добавить идентификатор пользователя в существующий массив.
Окончательный вариант, очень похожий на второй, будет иметь таблицу подписки пользователя, в которой каждая строка является идентификатором пользователя, а затем имеет массив подписанных потоков.
Какой будет лучший способ? На данный момент мое единственное требование - отправлять пользователей по электронной почте на новые сообщения и ответы, но в будущем я могу расширить его, чтобы включить возможность для пользователей перечислять свои подписанные потоки и т. Д., Как это делают многие основные форумы.