쿼리속도 질문드립니다.
본문
$sql = " SELECT DISTINCT a.no, a.name, a.receive_mail, a.write_day, a.read_day, a.title, b.content FROM `zzMailingSend_List` a LEFT JOIN `zzMailingSend` b ON a.code = b.code ORDER BY a.no DESC ";
라는 쿼리문을 작성을 했습니다. 실제로 작동은 잘되기는 합니다만...
이전 사이트에서 새 사이트로 옮기고 저 쿼리를 실행할려고하니 엄청난 로딩의 압박이 들어옵니다;;
참고로 zzMailingSend_List 는 약 6만개 좀 안되는 데이터가 있고, zzMailingSend는 약 만개정도의 데이터가 있는데.. 저것보다 더 많고 복잡한 쿼리도 좀 로딩이 걸려도 곧 잘 실행이 되는데, 저 쿼리는 유독 엄청난 로딩이 되면서 사실상 작동이 되질 않습니다.
저 쿼리에서 좀 더 속도 개선을 위해 변경할만한 다른 쿼리 작성 방식이 있을까요?
!-->답변 2
비교하는 양쪽 테이브에 code라는 필드에 index가 걸려있는지 확인해보시고
걸려있지 않다면 index를 걸어보시길...
우선 zzMailingSend_List, zzMailingSend 테이블 둘다 code 컬럼에 index 를 설정해 주세요.
그리고 distinct 가 있으신데 굳이 해야 되는 건지 검토해 보셔야 될 것 같습니다.
where 조건이 있다면 join 하기 전에 where 조건을 넣는게 좋아 보입니다.
$sql = " SELECT a.*, b.content FROM (SELECT DISTINCT a.no, a.name, a.receive_mail, a.write_day, a.read_day, a.title FROM `zzMailingSend_List`) a LEFT JOIN `zzMailingSend` b ON a.code = b.code ORDER BY a.no DESC "
답변을 작성하시기 전에 로그인 해주세요.