Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Какой вариант выборки по категориям более предпочтителен?

Какой вариант выборки по категориям более предпочтителен?


     02.08.2023    Общие вопросы по PHP, MySQL    419

вопрос
Доброго времени!

Делаю модуль выборки новостей по параметрам. Возникли некоторые сомнения.
Для выборки по категориям есть 2 варианта:
1. Использование регулярных выражений в основном запросе
WHERE category REGEXP '[[:<:]](1|2|3)[[:>:]]' AND ...
Вариант с
WHERE category IN (1,2,3) AND .
не работает с мультикатегориями.
2. Использование дополнительного запроса для получения ID новостей с последующей выборкой по этим ID в основном запросе
SELECT news_id FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (1,2,3)


Какой вариант менее затратен по нагрузке и более предпочтителен при наличии большого количества новостей в БД (более 1000)?

Ответа пока нет


2 комментария

lutskboy
Эксперт

lutskboy - 2 августа 2023 12:47 -

более 1000? ето мало. любой подойдет.
если много то делайте как и в дле сделали.
регулярные быстро работают если доставать последние новости
но чем дальше в лес limit 1000, 20 , limit 3000, 20 , тем дольше выполняется запрос

dj-avtosh
PHP-developer

dj-avtosh - 2 августа 2023 13:25 -

Вообще логичнее связь "новость - категория" вывести в отдельную таблицу и делать быструю выборку.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх