데이터베이스 테이블의 항목 목록과 각 하위 항목과 함께 관련 하위 항목의 작은 목록 (최대 10 개 항목)을 인쇄하고 싶습니다.목록에서 관련 데이터 가져 오기
예를 들어, 나는이 2 개 개의 테이블이 :
ITEMS
id: integer
name: string
SUBITEMS
id: integer
name: string
item_id: integer
그래서, 항목이 많은 하위 항목을 가질 수 있습니다.
나는 이런 식으로 뭔가를 인쇄하고 싶습니다 : 이
Item 1
this item has: subitem 1, subitem 2, subitem 3
Item 2
this item has: subitem 4, subitem 5, subitem 6
Item 3
this item has: subitem 2, subitem 4, subitem 7
가
이 어떻게 마음에 성능이를 얻을 수
? 앞에서 말했듯이 각 항목에는 여러 하위 항목이있을 수 있지만 최대 10 개까지 표시됩니다.조인으로 select를하면 페이지 매김이있을 때 데이터베이스에 너무 많은 스트레스를 줄 수 있습니다. 예를 들어, 페이지 당 25 개의 항목 및 쿼리하는 100 명의 사용자. 그래서, 저는 이것이 좋은 해결책이 아닐 것이라고 생각합니다.
ITEM 테이블에 새 필드를 추가하고 이름이 subitems_summary (텍스트 유형) 인 항목을 추가 할 때마다 항목을 항목에 할당 할 때마다 두 항목을 조인하도록 선택합니다. 테이블을 만들고 거기에 결과를 저장하므로 나중에 해당 필드의 데이터 형식을 지정할 수 있습니다. 예를 들어 위의 목록에서 Item 3의 subitems_summary 필드는 "subitem 2, subitem 4, subitem 7"이됩니다.
당신은 어떻게 생각하십니까?
은 "더러운 해결 방법은"선택의 성능을 위해 수행뿐 아니라, 업데이트를 삽입하고, 각 하위 항목에 대한 삭제 생각해보십시오. –
'select *'를 사용하여 결과 세트를 반복하고 null이 아닌 값을 인쇄하십시오. – alfasin