지금 아래의 쿼리는 각 결과에 대해 1 행을 반환합니다. 각 행에 대한 태그 목록을 표시해야하며이 쿼리를 변경하여 INNER가 태그에 가입하고 데이터를 파싱하도록 토론하고 있습니다. PHP 끝, 또는 각 반환 결과에 대해 별도의 쿼리를 실행해야한다면 ....이 것에 대한 생각은 무엇입니까? 추가 데이터를 가져와 PHP 끝에서 구문 분석하거나 추가 쿼리 (어쩌면 25-30)를 실행해야합니까?검색 중 ... 하나의 큰 쿼리 또는 중간 및 많은 작은 쿼리?
SELECT
content.id,
content_text.content
FROM content
INNER JOIN content_text ON (
content_text.content_id = content.id AND
content_text.language_id = 1
)
INNER JOIN tags_to_content ON (
tags_to_content.tag_id IN (1)
)
하나는 알 수 없습니다. 실행중인 구체적인 시스템에서 둘 다 측정해야합니다. – hakre
24-29 개의 쿼리가 심각한 오버 헤드처럼 들립니다. 두 접근법을 측정하는 것은 어떻습니까? – Jacob
각 쿼리에 대해 최악의 경우 (연결 풀링이 있음에도 불구하고) 별도의 연결을 가정하고 권한 부여 검사와 함께 파서 엔진을 실행하고 인덱스를 한 번 또는 여러 번 실행해야합니다. 또한 많은 작은 응답에는 반드시 네트워크 계층에 더 많은 "절반 만"의 데이터 그램이 있어야합니다. 한 가지 큰 쿼리가 너무 커서 서버가 메모리 문제를 일으키지 않는 한 많은 작은 쿼리가 아닌 하나 또는 여러 개의 큰 쿼리를 갖는 것이 항상 유리합니다. – Damon