Я делаю систему которая включает ленту объявлений. Пользователь подписывается на несколько категорий. Затем ему выдается лента новостей со всех категорий на которые он подписан: Я описал для этого такую архитектуру:
Но понимаю что получить "Ленту" я сначала должен получить список всех категорий на которые подписан пользователь, а только потом запрашивать данные из таблицы Посты.
Вообще насколько это правильное решение? Может как-то можно построить архитектуру, чтобы получать ленту одним запросом?
Одним запросом
SELECT p.* FROM Posts p
INNER JOIN Subscriptions s ON s.category_id = p.category_id
-- также join images img on img.post_id = p.id но тут группировать придётся
WHERE s.user_id = :user_id
Нормальная у вас архитектура, каждая сущность - своя таблица.
Ничего лишнего, все связи на месте.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Обращаюсь к VK API раз в секунду (Threadsleep(1000)), пишу несколько сообщений подряд боту (быстро), и получаю эксепшн: ApiTooManyException: Too many requests per second (6): Too many requests...
Получается, это дублирующие друг друга вещиМожет, есть какие-то реальные различия?