2
단계를 저장하고이 두 검색어를 결합하려고 시도하지만 최선의 방법에 대해 확신하지 못합니다. 기본적으로 첫 번째 쿼리는 시스템의 리뷰 목록을 가져오고 두 번째 쿼리는 알림이 전송되었는지 (보고 된 결과가 반환 된 경우)보고 있습니다.검색어 결합
GET 리뷰 :
SELECT r.*,
coalesce((SELECT AVG(rr.rating)
FROM `" . DBTABLEPREFIX . "reviews_ratings` rr
WHERE rr.review_id = r.id
)
, ''
) AS rating,
FROM `" . DBTABLEPREFIX . "reviews` r
WHERE BELOW SELECT IS 0 RESULTS
확인 통지가있는 경우
(그래 난이 자체적으로 작동하지 않습니다 알고) : 적절하게이 작업을 수행하는 방법에SELECT rn.*
FROM `" . DBTABLEPREFIX . "reviews_notifications` rn
WHERE rn.website_id = r.website_id
AND rn.post_id = r.post_id
어떤 아이디어? 또한 리뷰 및 리뷰 _ 테이블이 매일 신선한 데이터로 지워지기 때문에 알림 테이블에서 r.id를 확인할 수없는 이유에 대해 궁금해하실 것입니다. 프로세스는 나중에 죽이지 않기 위해 다시 작성되지만 새 항목 만 추가 할 수 있습니다.
덕분에, 내가 찾던 그냥 뭐! – spyke01
병합 대신 두 번째 방법을 사용하면 효율을 얼마나 높일 수 있습니까? 아마도 쿼리가 내 쿼리에서와 같이 매번 실행되는 대신 한 번만 실행되는 것 같습니다. – spyke01
물론 테스트 할 수 있습니다. 그러나 두 번째 글쓰기는 파생 된 테이블이 먼저 계산되고 (그룹별로 결과가 있음)이 파생 테이블이 검토 테이블에 조인됨을 의미합니다. –