mysql 속도 문제 0 2 1,021

by 경상도곰남 [MySQL] [2016.12.20 21:20:39]


아래의 같은 게시판(게시물 6500건) 쿼리를 사용하는데요...

5.1.45p1-log 에서는 속도가 1초도 안걸리는데,
5.5.17-log 에서는 속도가 7~8초가 걸립니다.

테스트서버(5.1.45p1-log)에서는 속도에 문제가 되지 않았는데 실제 서버에 올리니 속도가 너무 느리네요. ㅠㅠ

버전 때문에 속도에 차이가 나는걸까요?

해결 방법이 있을까요?

혹시 쿼리를 수정해야 한다고 어떻게 수정을 해야 할까요?

고수님들의 답변 부탁드립니다.  


SELECT A.*, 
                    (SELECT IF(thumb_filenm <> '', thumb_filenm, save_filenm) FROM tbl_board_file WHERE BC_NO = A.BC_NO AND SUBSTRING_INDEX(LOWER(save_filenm),'.', -1) IN ('jpg', 'gif', 'png', 'jpeg') ORDER BY BF_NO ASC LIMIT 0, 1) AS filenm,
                    (SELECT count(*) FROM tbl_board_file WHERE BC_NO = A.BC_NO AND SUBSTRING_INDEX(LOWER(save_filenm),'.', -1) not in ('jpg', 'gif', 'png', 'jpeg') ) AS filecnt, t_nation.*, t_language.*, t_branch.*
                FROM 
            tbl_board A
            LEFT OUTER JOIN (SELECT cdd_no, cdd_nm as nation_nm, IF(thumb_file_name <> '', thumb_file_name, file_save_name) nation_img from tbl_cd_detail where t_code_cd_no='1') t_nation ON (A.bc_nation=t_nation.cdd_no)
            LEFT OUTER JOIN (SELECT cdd_no, cdd_nm as language_nm, IF(thumb_file_name <> '', thumb_file_name, file_save_name) language_img from tbl_cd_detail where t_code_cd_no='2') t_language ON (A.bc_language=t_language.cdd_no)                    
            LEFT OUTER JOIN (SELECT cdd_no, cdd_nm as branch_nm, IF(thumb_file_name <> '', thumb_file_name, file_save_name) branch_img from tbl_cd_detail where t_code_cd_no='4') t_branch ON (A.bc_branch=t_branch.cdd_no)
         WHERE A.BC_DEL = 0  AND A.BO_NO = 2 ORDER BY A.bc_notice DESC, A.bc_grp DESC, A.bc_sort ASC  LIMIT 0, 12 
 

 

by 마농 [2016.12.21 09:28:12]

가공처리 후 페이징 하지 말고, 페이징부터 하고 가공처리 하세요.
1. Select 절의 스칼라서브쿼리를 빼고 LIMIT 수행하고
  - 이를 인라인뷰로 해서 스칼라서브쿼리 수행하세요.
2. tbl_cd_detail 으로부터 파생되는 t_nation, t_language, t_branch 는 tbl_board 와 각각 1:1 로 매칭되나요?
  - 그렇다면? 해당 조인절도 LIMIT 수행 이후로 미루세요.


by 경상도곰남 [2016.12.21 10:15:21]

정말 감사합니다. ^^

많은 도움이 되었습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입