Open gmelon opened 10 months ago
p286에 상단부분에서 백드라운드 스레드가 미리 여러개의 페이지를 버퍼 풀에 저장해둔다는 내용으로
디스크에 레코드가 순서대로 저장되는 것이 아니면 풀 테이블 스캔 시 다음 페이지를 미리 읽어올 수 있는 이유가 뭘까요?
에 대한 답으로 생각했습니다.
그리고InnoDB 특성 상 디스크에 레코드가 순서대로 저장된다면, 다른 스토리지 엔진을 사용한 경우엔 풀 테이블 스캔 시 버퍼가 작동할 수 있는 걸까요?
다른 엔진 ( MyISAM )의 경우 p 285 에서 풀테이블 스캔을 실행 할 때 디스크로부터 페이지를 하나씩 읽어 온다고 하였으니, 버퍼를 사용하지 못한다고 생각합니다.
p286에 상단부분에서 백드라운드 스레드가 미리 여러개의 페이지를 버퍼 풀에 저장해둔다는 내용으로
디스크에 레코드가 순서대로 저장되는 것이 아니면 풀 테이블 스캔 시 다음 페이지를 미리 읽어올 수 있는 이유가 뭘까요?
에 대한 답으로 생각했습니다. 그리고InnoDB 특성 상 디스크에 레코드가 순서대로 저장된다면, 다른 스토리지 엔진을 사용한 경우엔 풀 테이블 스캔 시 버퍼가 작동할 수 있는 걸까요?
다른 엔진 ( MyISAM )의 경우 p 285 에서 풀테이블 스캔을 실행 할 때 디스크로부터 페이지를 하나씩 읽어 온다고 하였으니, 버퍼를 사용하지 못한다고 생각합니다.
아 MyISAM의 경우 그렇지 않다는 내용이 책에 있었군요! 잘 이해됐습니다
사용자 또는 시스템이 데이터베이스를 생성하는 경우, 설정된 저장경로에 데이터 베이스명의 디렉토리를 생성하며 테이블을 생성하면 테이블명의 MYD 파일과 MYI, FRM 파일을 동시 생성하여 데이터를 저장 및 관리한다.
저번에 스터디때도 언급됐던 내용인데 계속 등장하는 것 같아서 확실하게 정리하는게 좋아보입니다.
디스크에 레코드가 순서대로 저장되는 것이 아니면 풀 테이블 스캔 시 다음 페이지를 미리 읽어올 수 있는 이유가 뭘까요? InnoDB 특성 상 디스크에 레코드가 순서대로 저장된다면, 다른 스토리지 엔진을 사용한 경우엔 풀 테이블 스캔 시 버퍼가 작동할 수 있는 걸까요?