[실습] WHERE문이 사용된 SQL문 튜닝하기 - 2
4
4 asked
안녕하세요. 강의 잘 보고 있습니다!
[실습] WHERE문이 사용된 SQL문 튜닝하기 - 2
해당 강의에서 질문이 있습니다 :)
이전 강의에서 멀티 컬럼 인덱스의 경우,
첫번째 컬럼 기준으로 먼저 정렬하고, 그 다음 두번째 컬럼 기준으로 정렬한다고 배웠던 것 같습니다!
따라서
idx_created_at <-> idx_created_at_department 실행계획
idx_department <-> idx_department_created_at 실행계획이
각각 비슷할 것이라고 예상했는데, 강의에서는 idx_created_at과 두 개의 멀티 컬럼 인덱스 idx_created_at_department, idx_department_created_at 가 비슷하다는 것을 알 수 있었습니다!
이유가 궁금하여 질문 남겨봅니다 !
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. dongdong2님께서 질문해 주셔서 감사합니다!
멀티 컬럼 인덱스에서의 인덱스 사용 방식을 이해하는 데는 약간의 혼동이 있을 수 있습니다. 우선, 멀티 컬럼 인덱스는 정의된 순서에 따라 정렬되고 활용되며, 인덱스가 어떻게 사용되는지는 쿼리에 따라 다소 다르게 작용할 수 있습니다.
멀티 컬럼 인덱스 이해하기
순서와 활용: 멀티 컬럼 인덱스는 정의된 컬럼의 순서에 따라 사용됩니다. 예를 들어, 인덱스가
idx_created_at_department로 정의되었다면,created_at을 기준으로 먼저 정렬되고, 같은created_at값에 대해department로 정렬됩니다.인덱스 사용 우선순위: 쿼리에서는 항상 첫 번째 컬럼을 우선적으로 사용합니다.
idx_created_at_department일 때created_at으로 특정 검색을 하면 매우 효과적으로 작동합니다. 반면,idx_department_created_at은department를 첫 번째 컬럼으로 사용하여 인덱스를 최적으로 활용하지 못할 수 있습니다.비슷한 성능 이유:
idx_created_at단일 인덱스와idx_created_at_department가 비슷한 성능을 보이는 이유는, 검색 시created_at을 사용하여 필터링할 때 동일한 방식으로 인덱스를 활용하기 때문입니다. 그러나idx_department_created_at은created_at을 두 번째로 검색해야 하므로 효율이 떨어질 수 있습니다.
이와 관련된 내용을 다룬 게시물이 도움이 될 수 있습니다:
- 멀티컬럼인덱스 질문있습니다. 게시물은 멀티 컬럼 인덱스의 세부적인 사용 방식과 관련된 설명을 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
[실습] 인덱스 직접 설정해보기/성능 측정해보기
0
21
2
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
64
2
쿼리 결과 그리드에서 TYPE, POSSIBLE_KEYS 다릅니다
0
100
3
강의 내용을 블로그에 정리해도 괜찮을까요?
1
138
2
여러 테이블 조인시 where 절이 필요한가? 에 대해 질문있습니다.
0
165
2
풀 인덱스 스캔 질문있습니다.
0
139
2
멀티컬럼인덱스 질문있습니다.
0
144
2
쿼리 튜닝 관련 질문 (limit)
0
135
1
페이지기반 페이지네이션 쿼리를 최적화하고 싶습니다.
0
183
2
측정 시간 차이
0
222
2
[실습] 인덱스 직접 설정해보기 / 성능 측정해보기 강의에서요.
0
217
1
커버링 인덱스(Covering Index)강의에서 질문이있습니다.
0
200
2
한 번에 너무 많은 데이터를 조회하는 SQL문 튜닝하기 질문입니다
0
284
3
ORDER BY 튜닝관련 문의
0
218
2
강의 질문 있습니다
0
134
2
인덱스 많은 테이블에서 데이터 많아질 수록 insert 속도 증가
0
482
3
MariaDB 사용 시 EXPLAIN ANALYZE 이용 불가 문의
1
630
2
SQL 튜닝에 대한 사례나 Best Practice 등을 모은 자료를 알려주실 수 있나요?
0
346
2
혹시 심화 수업은 계획이 없으신가요..?
0
302
1
jpa쿼리튜닝 팁이 궁금합니다.!
0
460
1
특정 부서에서 최대 연봉을 가진 사용자 조회 sql 쿼리 질문
4
257
1
created_at 에 index 거는것과 지속적인 데이터 증가
0
453
2
WHERE A OR B 에서 인덱스 걸기
0
398
2
질문이있습니다.
1
329
1

