explain, index관련 질문입니다 0 2 998

by 초보개발자입니다! [MySQL] #Mysql #MariaDB [2019.11.06 17:17:30]


안녕하십니까 쿼리 수정중 이해되지 않는 부분이 있어 고견좀 여쭙겠습니다.

 

1번쿼리 EXPLAIN SELECT * FROM 테이블 WHERE 조건절  

2번쿼리 SELECT COUNT(*) FROM 테이블 WHERE 조건절 

 

첫번째 질문 

1번쿼리 실행했을때 나오는 ROWS수와 2번쿼리를 실행했을때 나오는 숫자가 다른 이유? (1번쿼리가 5백만건정도 2번쿼리가 250만건정도 나왔습니다.)

 

두번째 질문

EXPLAIN SELECT * FROM 테이블 WHERE 조건일시>'20191105' AND 조건일시<'20191106'

 

위와 같은 쿼리를 실행하면 결과값중 TYPE는 RANGE EXTRA는 USING INDEX CONDITION 라고 나오는데

조건기간을 늘리다보면  TYPE은 ALL EXTRA는 USING WHERE이 나옵니다(풀스캔)

 

이유가 무엇일까요?

 

 

 

by 마농 [2019.11.07 08:25:36]

1. 예측 건수와 실제 건수 차이
2. 인덱스 스캔은 소량 검색 시 유리합니다. 대량 검색시엔 풀스캔이 유리.


by 초보개발자입니다! [2019.11.07 10:36:14]

감사합니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입