쿼리 결과 그리드에서 TYPE, POSSIBLE_KEYS 다릅니다

![]()
상단의 스크린샷이 저의 로컬에서 확인된 거구요
아래는 선생님의 결과 입니다


[실습] 유저 이름이름 특정기간에 작성된 글 검색하는 SQL문 튜닝하기
3:30초 구간 입니다
똑같이 했는데 왜 TYPE과 KEY 변경되어 있을까요?
제가 잘못하고 있는건가요? 따라 쓴거도 아니고 NOTION에 있는걸 복붙 했습니다 ;;;
Answer 3
0
안녕하세요 ! 질문 잘해주셨어요 !
질문해 주신 내용에 대해 답변드려볼게요!
"똑같이 했는데 왜 TYPE과 KEY 변경되어 있을까요?제가 잘못하고 있는건가요?"
-> 전혀 잘못하신 게 아니에요 !
더미 데이터를 생성하기 위해 RAND() 함수를 사용했었는데,
이로 인해 데이터 분포가 매번 달라져 MySQL 옵티마이저의 실행 계획이 약간 달려져서 그런거예요 !
실행 계획이 조금 다르더라도 인덱스를 잘 사용하고 있으니 이상이 없어요 :)
추가로 궁금하신 점 있으시면 또 질문 남겨주세요~~
0
안녕하세요, 인프런 AI 인턴입니다. minuk님이 질문해주신 내용에 대해 답변 드리겠습니다.
최적화된 쿼리 결과가 강사님과 다르게 나오는 것은 여러 이유로 인해 발생할 수 있습니다. SQL 실행 계획(EXPLAIN)에서 TYPE과 KEY가 변경되어 있는 것에 대한 이유를 파악하기 위해 다음 사항을 고려해 보세요:
1. 데이터베이스 구조 및 인덱스:
- 강사님과 동일한 데이터베이스 구조와 인덱스가 설정되어 있는지 확인하세요. 인덱스의 유무나 차이에 따라
TYPE과KEY가 다르게 나타날 수 있습니다.
- 관련 게시물: 질문이있습니다.에서는 인덱스 및 SQL 최적화에 관한 내용을 확인하실 수 있습니다.
2. 데이터의 차이:
- 데이터베이스에 저장된 데이터의 양이나 분포가 실행 계획에 영향을 줄 수 있습니다. 데이터 분포가 다르면
EXPLAIN결과도 다르게 나올 수 있습니다.
3. MySQL 버전 차이:
- 사용 중인 MySQL 또는 기타 SQL 엔진의 버전이 강사님과 다른 경우, 동일한 쿼리에 대해서도 다른 최적화 전략을 사용할 수 있습니다.
4. 쿼리 캐싱:
- 쿼리 캐시나 기타 최적화 옵션 설정이 달라서 실행 계획에 차이가 있을 수 있습니다.
5. 환경 설정:
- 로컬 환경과 강사님의 실행 환경의 설정이 다를 수 있습니다. 예를 들어, SQL 모드나 세팅 값(예:
optimizer_switch)에 따라 실행 계획이 달라질 수 있습니다.
가능한 한 강사님의 환경과 동일하게 설정하고 테스트해 보는 것도 방법입니다. 데이터와 환경의 미세한 차이가 실행 계획에 영향을 미칠 수 있으므로 주의깊게 비교해 보시길 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
음 .... 처음부터 강의를 듣고 있었고 중복된 테이블이 없는지 확인 했으며 ,drop table 쿼리도 실행하고 새로 생성해서 했습니다.
뭔가 제가 잘못 하고 있는것 같은데 추상적인 답변 말고 확실한 답변 알고 계실까요?
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
34
2
강의 내용을 블로그에 정리해도 괜찮을까요?
1
120
2
여러 테이블 조인시 where 절이 필요한가? 에 대해 질문있습니다.
0
143
2
풀 인덱스 스캔 질문있습니다.
0
119
2
멀티컬럼인덱스 질문있습니다.
0
121
2
쿼리 튜닝 관련 질문 (limit)
0
119
1
페이지기반 페이지네이션 쿼리를 최적화하고 싶습니다.
0
168
2
측정 시간 차이
0
200
2
[실습] 인덱스 직접 설정해보기 / 성능 측정해보기 강의에서요.
0
195
1
커버링 인덱스(Covering Index)강의에서 질문이있습니다.
0
183
2
한 번에 너무 많은 데이터를 조회하는 SQL문 튜닝하기 질문입니다
0
258
3
ORDER BY 튜닝관련 문의
0
200
2
강의 질문 있습니다
0
118
2
인덱스 많은 테이블에서 데이터 많아질 수록 insert 속도 증가
0
442
3
MariaDB 사용 시 EXPLAIN ANALYZE 이용 불가 문의
1
590
2
SQL 튜닝에 대한 사례나 Best Practice 등을 모은 자료를 알려주실 수 있나요?
0
320
2
혹시 심화 수업은 계획이 없으신가요..?
0
295
1
jpa쿼리튜닝 팁이 궁금합니다.!
0
448
1
특정 부서에서 최대 연봉을 가진 사용자 조회 sql 쿼리 질문
4
246
1
created_at 에 index 거는것과 지속적인 데이터 증가
0
424
2
WHERE A OR B 에서 인덱스 걸기
0
377
2
질문이있습니다.
1
311
1
테이블에 기본키가 없을때
0
381
1
질문있어요!!!
1
214
1


