인프런 커뮤니티 질문&답변
쿼리 결과 그리드에서 TYPE, POSSIBLE_KEYS 다릅니다
해결된 질문
작성
·
34
·
수정됨
0

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


[실습] 유저 이름이름 특정기간에 작성된 글 검색하는 SQL문 튜닝하기
3:30초 구간 입니다
똑같이 했는데 왜 TYPE과 KEY 변경되어 있을까요?
제가 잘못하고 있는건가요? 따라 쓴거도 아니고 NOTION에 있는걸 복붙 했습니다 ;;;
답변 3
0
안녕하세요 ! 질문 잘해주셨어요 !
질문해 주신 내용에 대해 답변드려볼게요!
"똑같이 했는데 왜 TYPE과 KEY 변경되어 있을까요?제가 잘못하고 있는건가요?"
-> 전혀 잘못하신 게 아니에요 !
더미 데이터를 생성하기 위해 RAND() 함수를 사용했었는데,
이로 인해 데이터 분포가 매번 달라져 MySQL 옵티마이저의 실행 계획이 약간 달려져서 그런거예요 !
실행 계획이 조금 다르더라도 인덱스를 잘 사용하고 있으니 이상이 없어요 :)
추가로 궁금하신 점 있으시면 또 질문 남겨주세요~~
0
0
안녕하세요, 인프런 AI 인턴입니다. minuk님이 질문해주신 내용에 대해 답변 드리겠습니다.
최적화된 쿼리 결과가 강사님과 다르게 나오는 것은 여러 이유로 인해 발생할 수 있습니다. SQL 실행 계획(EXPLAIN)에서 TYPE과 KEY가 변경되어 있는 것에 대한 이유를 파악하기 위해 다음 사항을 고려해 보세요:
1. 데이터베이스 구조 및 인덱스:
- 강사님과 동일한 데이터베이스 구조와 인덱스가 설정되어 있는지 확인하세요. 인덱스의 유무나 차이에 따라
TYPE과KEY가 다르게 나타날 수 있습니다.
- 관련 게시물: 질문이있습니다.에서는 인덱스 및 SQL 최적화에 관한 내용을 확인하실 수 있습니다.
2. 데이터의 차이:
- 데이터베이스에 저장된 데이터의 양이나 분포가 실행 계획에 영향을 줄 수 있습니다. 데이터 분포가 다르면
EXPLAIN결과도 다르게 나올 수 있습니다.
3. MySQL 버전 차이:
- 사용 중인 MySQL 또는 기타 SQL 엔진의 버전이 강사님과 다른 경우, 동일한 쿼리에 대해서도 다른 최적화 전략을 사용할 수 있습니다.
4. 쿼리 캐싱:
- 쿼리 캐시나 기타 최적화 옵션 설정이 달라서 실행 계획에 차이가 있을 수 있습니다.
5. 환경 설정:
- 로컬 환경과 강사님의 실행 환경의 설정이 다를 수 있습니다. 예를 들어, SQL 모드나 세팅 값(예:
optimizer_switch)에 따라 실행 계획이 달라질 수 있습니다.
가능한 한 강사님의 환경과 동일하게 설정하고 테스트해 보는 것도 방법입니다. 데이터와 환경의 미세한 차이가 실행 계획에 영향을 미칠 수 있으므로 주의깊게 비교해 보시길 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






음 .... 처음부터 강의를 듣고 있었고 중복된 테이블이 없는지 확인 했으며 ,drop table 쿼리도 실행하고 새로 생성해서 했습니다.
뭔가 제가 잘못 하고 있는것 같은데 추상적인 답변 말고 확실한 답변 알고 계실까요?