티스토리 뷰

DB

index 사용 시 유의할 점

조용한스택 2023. 6. 20. 23:15

index가 있어도 사용할 수 없는 경우

  • where에 부정이 있으면 index를 사용할 수 없다.
    • 그래도 limit 절이 있으면 full join을 해도 문제가 없지만, 그게 아니라면 성능에 문제가 있을 수 있다

sort

  • group by
    • group by 를 하면 자동으로 group by 한 컬럼으로 정렬된다. 이로 인한 overhead를 막으려 한다면 order by null
  • ORDER BY 에서 인덱스를 사용하지 못하는 경우
    • 서로 다른 키를 ORDER BY에 사용하는 경우
    • 키의 일부를 사용할 때
    • 오름차순과 내림차순을 섞는 경우
    • ORDER BY 절에 사용된 키와 열을 가져오기 위해 사용된 키가 다른 경우
    • ORDER BY 에 키의 컬럼이 아닌 다른 표현을 사용했을 경우 (함수 사용)
    • ORDER BYGROUP BY에 명시된 칼럼이 조인의 순서상 첫 번째 테이블이 아닌 쿼리
    • ORDER BY 절과 GROUP BY 절이 다를 경우
    • ORDER BY 절에 사용된 컬럼의 일부분만 인덱스로 만든 경우
  • sort 성능

'DB' 카테고리의 다른 글

[Mysql] BLOB and TEXT data type  (0) 2022.12.28
DB lock  (0) 2022.03.20
tibero lock sql 확인  (0) 2021.07.28
Scalar Subquery Inline View Subquery  (0) 2021.03.23
여러 테이블 한 번에 UPDATE 하는 쿼리  (0) 2021.03.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함