홈페이지가 엄청 느려지고
mysql connect error 나면서 끊깁니다.
그래서 슬로우 쿼리 로그 남는걸 보면
select * from g5_write_board_free where wr_parent = 520705 and wr_is_comment = 1 and wr_comment_reply = '' and wr_comment = 3;
이런식으로 쿼리가 쭉 남는데 이게 뭐가 문제라서 슬로우 쿼리가 3초 이상 걸리나요?
답변 6개 / 댓글 2개
select * from 가 문제일거라 생각되네요.
*(스타)를 사용하시면 모든 필드를 다 가지고 오는 컨셉이라..
스타를 사용하지 마시고, 필요하신 필드만 뽑아서 사용하시는 걸 추천합니다.
위의 쿼리는 간단한 쿼리라 실행시간이 많이 걸리지는 않습니다. 하지만 스타를 쓰시면 모든 필드를
다 뽑기 때문에 뽑아서 메모리에 올리는 시간이 엄청 걸려서 슬로우쿼리가 생기는 이슈입니다.
select wr_1, wr_2 from 이런식으로 뽑고자 하는 필드를 지정하세요.
비용분석이라고 하던가... 잘 기억은 안납니다.
더 좋은 분이 답변을 해주실거라 생각은 됩니다만, 참고하시라고 올려봅니다.

MySQL Workbench 에서 위의 쿼리를 실행하면
이런 화면을 보실 수 있습니다.
(전 데이터가 몇개 없어서 저 정도만 보이는데요...)
테이블 조회시 속도에 영향을 주는건 거의 Where 절의 검색이거나 테이블 간 Join 등과 관계가 있습니다.
제가 올려드린 화면을 같은 방식으로 캡쳐해서 올려주시면...
더 좋은 답변을 얻을 수 있을 거라고 생각됩니다.
저라면 운영하시는 웹사이트를
어딘가에 DB까지 똑같이 설치하고 Index를 추가하거나 빼거나... 다시 정렬시키거나 할텐데...
이건 운영서버에서 잘못 건들면 독이 될 수 있으니 설명을 배제하겠습니다.
아... 물론 서버는 웬만큼은 되어야겠죠.
웬만한 서버라면 50만건 정도를 많다고 볼 수는 없습니다.
(PC거나 시놀로지 같은 NAS라면 말이 달라지겠지만요.)
답변을 작성하려면 로그인이 필요합니다.