ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인덱싱 (Indexing)
    프로그래밍/DB 2021. 3. 16. 19:26

    인덱싱이란 DB에서 어떤 레코드가 어디에 있는지 빠르게 찾아내기 위한 포인터를 마련해 두는 것이다.
    Slotted Page Structure의 경우에 각 인덱스의 포인터는 해당 레코드가 있는 page의 해당 레코드의 slot을 가리킨다

    Ordered Index

    인덱스가 정렬되어 있다는 뜻이다.
    보통 B+Tree로 저장되어 있다.

    집중 인덱스 (Clustering Index, Primary Index)

    인덱스의 정렬 순서와 레코드의 정렬 순서가 일치하는 경우를 말한다.

    비집중 인덱스 (Nonclustering Index, Secondary Index)

    인덱스가 또다른 포인터를 가리키고, 또다른 포인터가 레코드를 가리킨다. 인덱스는 인덱스 나름대로 정렬되어 있고, 레코드는 인덱스가 정렬된 방식으로 정렬되어 있지 않기 떄문에 중간의 버킷 포인터가 정렬된 순서를 가리키기 위해 존재하는 것

    중복된 값을 가리키는 인덱스는 두개의 버킷 포인터를 가리키고, 각각의 버킷 포인터가 각각의 레코드를가리킨다.

    어떤 필드가 어떤 값을 가진 레코드들을 찾아라 라는 sql에서 집중 인덱스는 해당 값의 인덱스와 그 다음 값의 인덱스만 참조하고 그 사이에 있는 레코드들을 반환하면 되지만, 비집중 인덱스는 해당 값의 인덱스의 모든 버킷 포인터들을 다 참조해야 함

    Dense Index

    모든 Search Key 값에 인덱스가 있는 경우. 동일한 필드값을 가진 레코드들이 있으면 해당 필드값으로 정렬한 상태에서 해당 값을 가진 레코드들 중 제일 위의 레코드를 가리킨다.

    Sparse Index

    일부 값만 인덱스를 주고, 찾으려는 값이 인덱스에 없을 경우 해당 값보다 작은 인덱스와 큰 인덱스 사이의 레코드들을 찾아보는 것

    select 문에서 where field = value 라는 질의를 넣었을 때 field = value인 레코드의 인덱스들이 집중 인덱스에서는 한

    3주차 3rd - 3분대.. 레코드 위치는 인덱싱 방법과 상관이 없지 않나>?

    Multilevel Index : 인덱스의 인덱스의 인덱스의.... 얘도 B+Tree로 만듦

    댓글

Designed by Tistory.