select 컬럼1, 컬럼2, 컬럼3, 컬럼4 from 테이블 where 컬럼2 = '가나다' and 컬럼4 = 3;
위와같은 쿼리가 있을 때 디비버와 같은 툴에서 쿼리를 날리면 대부분은 0.6~0.8초 내로 결과가 리턴됩니다만,
같은 쿼리인데도 어쩌다 한 번씩 4초정도 걸리며
프로젝트(Spring Boot, Mybatis, MySQL)를 구동하여 날릴때에는 0.6~0.8초내로 전달과 4~8초내로 전달이 9:1 비율인 것 같아요.
테이블에 데이터는 약 6만개정도 들어있고, 한글데이터가 들어가는 컬럼이 많습니다.
데이터베이스 설정쪽에는 눈이 어두워서 설정문제인지 제 쿼리문제인지도 잘 분간이 안가네요ㅠㅠ
"원래 4-8초정도 걸리는 쿼리가 쿼리캐시때문에 금방 리턴이 되는 건가?" 라고 추측했었지만 쿼리를 날린 후
reset query cache;
를 해줘도 금방 리턴될때가 있고, 계속 금방리턴되다가 한번 오래걸릴때가 있고 그러더라구요.. mysql 성격인가요..?
혹시 설정같은 부분은 첨부해야하면 말씀부탁드리겠습니다..ㅠㅠ
서버 자원들(CPU, 메모리, Disk, Network 등)이 다른일 하느라 바빠서 그럴 수 있습니다.
해당 자원을 취득하기 위한 경합으로 인한 대기 시간 발생. Wait Event 확인
https://dev.mysql.com/doc/refman/8.0/en/performance-schema-wait-tables.html