사용자가 필터를 정의하고 필터 기준과 일치하는 학생들의 게시물을 볼 수있는 대학용 응용 프로그램을 개발 중입니다.MYSQL : 후속 조인에 대한 쿼리 결과 저장
처음에는 MYSQL이 필터 매개 변수 (연도, 전공 등)와 일치하는 모든 학생 중 user_id
을 찾기 위해 쿼리합니다. 그런 다음이 결과를 사용하여 JOIN을 통해 user_id
에 연결된 해당 게시물/이벤트를 쿼리하고 찾을 수 있습니다.
질문 : s는 별도의 가입 쿼리에 대해 여러 번에 사용되는 동일한 user_id
'(이벤트, 게시물 등) 내부에 MySQL의에 결과를 저장하는 것이 가능할 것이다 경우 궁금 해서요 이후
데이터를 사용하는 후속 JOIN 쿼리 속도를 높입니다.
거부 됨 솔루션 :
- 를 사용하여 MySQL의 쿼리 캐시 - 쿼리마다 동일하지 않습니다으로 적용되지 않습니다; 초기 조인 순서는 동일하지만 각 조인에 다른 조인 매개 변수가 적용됩니다.
- API (php)로 데이터를 가져온 다음
where user_id = IN(#, #, #...)
을 사용하여 쿼리를 보냅니다. MYSQL으로 다시 전송할 사용자 ID는 10,000 개가 될 수 있습니다. 쿼리가 너무 커서 JOIN 절감을 상쇄 할 수 있습니다.
[CREATE TEMPORARY TABLE'] (http://dev.mysql.com/doc/refman/5.1/en/create-table.html)이 일반적으로 사용됩니다. – JimmyB
임시 테이블을 최대 '선택'성능으로 인덱싱 할 수도 있습니다 (예 : [here] (http://stackoverflow.com/questions/3281852/pass-index-to-temporary-table-from-regular-table) 참조). – JimmyB