카테고리를 만들기 위해 인접리스트 모델을 사용하고 있으며 완벽하게 작동합니다.나무와 같은 카테고리 시스템의 데이터베이스 디자인
특정 카테고리 (예 : 전자 제품)의 기사를 검색 할 때 하위 카테고리 (예 : 전자 제품 -> 카메라 또는 전자 제품 -> 카메라 -> 카메라 렌즈)의 기사도 검색하고 싶습니다.
내가 지금하고있는 방식은 전자 제품의 하위 카테고리의 모든 카테고리 ID를 가져와이 목록의 category_id가있는 모든 기사를 찾는 것입니다.
이것은 매우 비효율적이며 많은 시간이 소요됩니다. 그 결과 많은 쿼리가 이러한 하위 카테고리를 검색 할 수 있기 때문입니다.
내가 생각한 또 다른 방법은 모든 카테고리 트리 (예 : 카메라 렌즈에 관한 기사는 MANY_MANY 테이블의 카메라 및 전자 제품 카테고리와 연결될 것입니다.)와 관련된 모든 기사를 가져 오는 것입니다. 전자 제품에서도 나타날 것입니다.
각 기사에 대해 3 개 또는 4 개의 카테고리를 저장해야하기 때문에 이렇게하면 많은 중복 데이터가 데이터베이스에 추가됩니다. 또한 기사를 다른 카테고리로 이동하는 것과 같은 작업을 복잡하게 만듭니다.
이것이 올바른 방법인가요? 아니면 내가 생각하지 못한 더 좋고/더 쉬운 방법이 있습니까?
도움을 주셨습니다.
당신이 지금하고있는 방식은 지금 당신이 묘사하는 두 번째 방법과 비교할 때 완벽하게 잘 들립니다. –