본문 바로가기

index

[SQL] B-Tree 인덱스 인덱스 종류 중에서 가장 흔히 쓰이는 B-Tree 인덱스 입니다. 프로그래밍 해보신분들 중에 자료구조 들으신분들은 조금 친숙하실텐데요. B-Tree(이하 비트리) 를 구성할 당시에는 각 데이터가 저장되어 있는 데이터 블록으로 부터 해당 컬럼을 이용해서 인덱스를 만듭니다. 그리고 위에 보시는 Root 블록으로 부터 Branch 블록, Leaf 블록으로 구성합니다. 데이터 블록에서 Leaf 블록을 구성할 때에는 해당 컬럼을 정렬해서 만들어 집니다. 이중 Leaf 블록이 데이터 블록의 해당 로우(ROW)에 접근할 수 있는 ROW ID를 가지고 있구요. 그 상위 단계인 Branch와 Root 에서는 각 하위 단계에 접근 할 수 있는 키값 즉 블록의 주소를 가지고 있습니다. 그리고 각 Branch 블록과 Root.. 더보기
[SQL] 색인기능, INDEX! 여러분은 보통 책에서 원하는 정보를 찾을때 어떻게 찾으세요? 단순히 책을 처음부터 한장한장 찾으시면서 찾으시진 않으시겠죠? 다들 앞부분에 있는 목차를 찾거나 뒤의 색인 또는 INDEX를 찾아서 원하는 키워드를 찾아 해당 페이지를 펼칠 겁니다. 이렇게 데이터베이스에서도 해당 정보를 찾을때 책의 뒷편에서 볼수 있는 인덱스(INDEX)를 이용합니다. 보통 데이터베이스는 엄청난 자료를 저장하고 있기때문에 하나의 자료를 찾기 위해서는 사람이 책에서 정보를 찾듯, 두가지 방법을 쓸 수 있는데요. 데이터베이스에서 원하는 정보(데이터)를 담고 있는 테이블 전체를 메모리에 저장시켜서 찾는 방법, 그러니까 저장되어 있는 데이터를 처음부터 이잡듯 뒤져서 정보를 찾는 겁니다. 이를 'FULL-TABLE SCAN' 방식이라고 .. 더보기