сайта новостника.
На ней будут выводиться посты из 10-15 категорий (по блокам) + блоки такие как топ5 + главный слайдер. Каждый пост может быть в нескольких категориях одновременно.
У меня есть метод в который я передаю idшники категорий, и количество постов для каждой категории, далее он делает всего 1 запрос в базу и достает все посты.
Соответственно, пост может появится в категории 1 и в категории 3 к примеру, это мне не нужно, если же я прохожусь по полученным постам и убираю дубли, то на странице в какойто категории уже будет не 5 постов к примеру а 3, что тоже неверно.
Итого, пришли мысли доставать из базы посты с излишком, тоесть фронт запросил по 5 постов для каждой, то из базы достем 10. Далее фильтрация и вывод уже точного колличества.
Насколько это верно?
Хотел это реализовать в запросе на уровне базы, но чтото не смог пока что + мне нужно посты для слайдера еще включить в вывод и что бы они также не дублировались ниже на странице, думаю еще отдельным запросом доставать или включить в в один.
Идеи приветствуются..)
Как насчет идей парни...?)
На скорую руку - разделить приоритет. Посты с высшим приоритетом исключать из sql запроса для постов с приоритетом ниже
Тогда нужна еще логика для контроля/назначения приоритета. Нужно максимально автоматизировать вывод. А чем не верен мой варинт, брать из базы немного с излишком?
Если категорий станет больше, то и брать придется больше. Может быть такое, что вам не хватит записей для заполнения, если множество новостей будут в большом кол-во категорий
Но это для java всеравно пшик... небудет же тысячи... Предположить даже, по 5 постов из 20 категорий + излишек = +- 150 постов выборка, это же мелочь. А вот с нехваткой постов, возмно может быть такой момент... нужно исключени продумать
Обсуждают сегодня