id если есть реляция, которую индексирует сам движок БД и в этом случае он сам же делает оптимизацию запроса
а не вот это вот
id IN (1,2,3), которое убьет твою БД, когда у тебя будет 100к записей
Блин сорри, наоборот в таблице товаров создавтаь столбец с переченью id всех его категорий - от родительских до внуков
у меня в практике нужен был основной раздел (root) и конечный, к которому принадлежит запись по идее больше и не нужно пихать в БД, т.к. иерархий категорий в любом случае будет в кеше/памяти и ее просто можно взять для определения принадлежности поста к цепочке категорий
можно сделать финт ушами: указать массив конечных id категорий как json массив, добавить к нему индекс и фильтровать примерно так :category_id IN JSON_EXTRACT(category, '$') но не рекомендую
Обсуждают сегодня