강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

ybs1121님의 프로필 이미지
ybs1121

작성한 질문수

김영한의 실전 데이터베이스 - 기본편

인덱스의 단점과 주의사항

인덱스를 활용하여 검색할 때 궁금한 점이 있습니다.

작성

·

74

0

sellers와 items 테이블이 있을때

두 테이블을 조인한다고 할때
만약 items에 seller_id가 외래키로 잡혀 있지 않을 경우


select * from items i
join seller s on i.seller_id = s.seller_id


이렇게 조인하면 풀스캔 조인이 일어나는 걸까요?

추가적으로


select * from items i
join seller s on i.seller_id = s.seller_id
where s.seller_id = '행복상점'




select * from items i
join seller s on i.seller_id = s.seller_id
where i.seller_id = '행복상점'

이렇게 두 쿼리를 실행 할떄
첫번째 쿼리는 인덱스를 활용해 검색을 하고 두번째 쿼리는 테이블 풀스캔을 해서 검색할까요?

퀴즈

64%나 틀려요. 한번 도전해보세요!

옵티마이저가 인덱스 대신 전체 테이블 스캔을 선택할 수 있는 경우는 언제일까요?

쿼리 결과가 총 데이터의 20-25%일 때

인덱스 크기가 매우 클 때

데이터가 고도로 정렬되었을 때

랜덤 I/O가 많이 발생할 때

답변 1

0

안녕하세요. ybs1121님, 공식 서포터즈 David입니다.

이 부분은 직접 실험해 보시는 게 학습에 더 도움이 될 것 같습니다. 실험해 보시고 결과도 공유해 주시면 다른 분들에게도 큰 도움이 될거에요:)

MySQL 기준

  1. EXPLAIN 명령을 사용하여 실행계획을 확인해 보세요.

  2. EXPLAIN ANALYZE 명령을 사용하여 실제로 쿼리가 어떻게 동작하였는지 확인해 보세요.

감사합니다.

ybs1121님의 프로필 이미지
ybs1121

작성한 질문수

질문하기