- 인덱스를 사용하지 않고, 테이블의 데이터를 처음부터 끝까지 읽어서 처리하는 작업
발생하는 조건
- 태아블의 레코드 건수가 너무 작아서 인덱스를 통해 읽는 것보다, 풀테이블 스캔하는 경우가 빠른 경우
- where 절이나 on 절에 인덱스를 이용할 수 있는 적절한 조건이 없는 경우
- 인덱스 레인지 스캔을 사용할 수 있는 쿼리라 하더라도 옵티마이저가 판단한 조건 일치 레코드 건수가 너무 많음 경우
- max_seeks_for_key 변수를 특정 값으로 설정하면 옵티마이저는 인텍스 선택도나 기수성을 무시하고 특정값만 읽으면 된다고 판단.
- Innodb 스토리지 엔진은 특정 테이블의 연속된 데이터 페이지가 읽히면 백그라운드 스레드에 의해 read ahead 작업이 자동으로 시작됨
- read ahead: 데이터가 앞으로 필요할 것을 예측해 요청전에 미리 디스크에 읽어 InnoDB의 버퍼풀에 가져다 두는 것을 의미함