scan
-
[Database] Database ScanCS/Database 2022. 1. 19. 21:18
Database Scan 앞선 인덱스 포스팅에서 항상 테이블 풀 스캔이 느린 것만은 아니라고 말했다. 어떤 경우에는 인덱스 스캔보다 테이블 풀 스캔이 빠른 경우도 있다. 데이터베이스의 데이터를 스캔하는 방법에는 여러가지 종류가 있고, 어떤 방법이 가장 최적의 방법이라고 말할 수 없다. 다양한 방법 중 적합한 방법을 적용하여 데이터베이스 성능을 높이는 것이 중요하다. 다양한 스캔 방법에 대해 알아보자. Table Full Scan 인덱스를 거치지 않고 테이블에 있는 모든 레코드를 읽는 방법 다중 블록 단위로 메모리에 옮겨지며, 이 블록들은 순차적으로 읽혀진다. (Sequential access + Multi Block I/O) 일반적으로 블록들은 서로 인접해 있기 때문에 한 번의 I/O로 처리 가능하다. ..
-
[Database] IndexCS/Database 2022. 1. 14. 22:55
Index란 우리가 실생활에서 자주 접해볼 수 있는 단어이다. 우리는 책에서 원하는 내용을 찾기 위해서 책의 처음부터 끝까지 원하는 내용을 찾아보는 것이 아니라 목차나 인덱스에서 원하는 내용을 먼저 찾은 뒤 해당 내용이 있는 페이지를 찾아간다. 이와 같은 방식으로 데이터베이스에서도 인덱스를 사용한다. Database에서 Index 란 ❔❔ 데이터베이스에서 인덱스란 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 데이터베이스에서 데이터 조회 요청을 하면, DB 서버 프로세스는 메모리(DB 버퍼 캐시)를 먼저 확인한다. 메모리에는 자주 사용되는 테이블이 캐싱되어 있는데, 메모리에 원하는 데이터가 없는 경우 디스크에서 데이터 파일을 복사해온 후 조회한 데이터를 찾아 반환한다. 이때 인덱스를 사..