Database - 파일조직

Bomin Seo·2022년 7월 25일
0

히프 파일(Heap file)

  • 가장 단순한 파일 조직
  • 일반적으로 레코드들이 삽입된 순서대로 파일에 저장된다.

삽입

  • 새로 삽입되는 레코드는 파일의 가장 끝에 첨부된다.

검색

  • 원하는 레코드를 찾기 위해서는 모든 레코드들을 순차적으로 접근해야 한다.

삭제

  • 원하는 레코드를 찾은 후에 레코드를 삭제하고, 차지하던 공간은 재사용하지 않는다.
    • 삭제되었다고 표시만 남긴다.
    • Free list를 통해 삭제되고 빈 공간을 Linked list로 연결하여 관리할 수 있다.
  • 좋은 성능을 유지하기 위해서 주기적인 재조직이 필요하다.

히프 파일의 성능

  • 질의에서 모든 레코드들을 참조하고, 접근 순서가 중요하지 않을 때 사용한다.

  • 특정 레코드를 검색하는 점 질의, 범위를 검색하는 범위 질의에도 모든 레코드들을 검색해야 하기 때문에 비효율적이다.

  • 조건에 맞는 레코드를 한 개 이상 검색했더라도 마지막 블록까지 읽어서 원하는 레코드가 존재하는가를 확인해야하기 때문에 복수 개의 레코드를 검색하는 경우에도 비효율적이다.


순차 파일

  • 레코드들이 하나 이상의 필드 값에 따라 순서대로 저장
  • 일반적으로 레코드의 탐색 키(순차 파일을 정렬하는데 사용되는 필드) 값의 순서에 따라 저장

삽입

  • 순서를 고려해야 하기 때문에 시간이 많이 걸린다.
    • 100보다 작은 채우기 인수를 사용하여 시간을 줄일 수 있다.

삭제

  • 삭제된 레코드가 사용하던 공간을 빈 공간으로 남기기 때문에 재조직이 필요하다.
    • 삭제 후 Free list를 통하여 재조직하는 방법으로 시간을 줄일 수 있다.
  • 기본 인덱스가 순차 파일에 정의되지 않는 한 거의 사용되지 않는다.

순차 파일의 성능

  • 점 질의의 경우 이진 탐색을 사용할 수 있어 빠른 처리가 가능하다

  • 범위 질의의 경우 탐색 키와는 무관하기 때문에 오랜 시간이 걸린다.

그 외

indexed sequential file

hash file

profile
KHU, SWCON

0개의 댓글