반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Developer Joshua의 개발 블로그

MySQL 쿼리 실행 속도 개선 INDEX 실행조건 본문

Java. JavaScript. SQL

MySQL 쿼리 실행 속도 개선 INDEX 실행조건

Dev_Joshua 2024. 9. 24. 17:19
728x90
반응형

WHERE 절이나 ORDER BY 또는 GROUP BY가 인덱스를 사용하려면 
기본적으로 인덱스된 컬럼의 값 자체를 변환하지 않고 그대로 사용한다는 조건을 만족해야 한다. 
인덱스는 컬럼의 값을 아무런 변환 없이 B-Tree에 정렬해서 저장하기 때문에 

WHERE 조건이나 GROUP BY 또는 ORDER BY에서도 원본값을 검색하거나 정렬할 때만 B-Tree에 정렬된 인덱스를 이용한다.

 

ex)
logDate에  IDX를 걸었다고 했을때

 

WHERE DATE_FORMAT(logDate,'%Y-%m') = DATE_FORMAT(#currentDate#,'%Y-%m')를

 

WHERE logDate LIKE CONCAT(DATE_FORMAT(#currentDate#,'%Y-%m'),"%") 이런 식으로 개선해서

 

WHERE 바로 뒤에 logDate를 수식하는 문구가 없어야 logDate가 정상적으로 인덱스를 타서 실행속도 개선을 할 수 있다.

 

 

반응형

'Java. JavaScript. SQL' 카테고리의 다른 글

number 타입 자동 형변환(oracle)  (0) 2023.03.16
정렬순번 위아래로 움직이기  (0) 2022.02.24
INSERT시 VALUES에서 SELECT 사용하기  (0) 2022.02.22
option태그 선택된 값 찾기  (0) 2022.02.21
$.each  (0) 2022.02.21
Comments