인덱스

    인덱스 설계 전략 (DB 스터디 5주차)

    인덱스 설계 전략 (DB 스터디 5주차)

    11.1 인덱스의 동작 인덱스와 색인은 비슷 색인이 커지는 경우 키워드를 찾는데 시간이 걸림 색인 : 키워드가 문자 순서로 정렬돼 있고 해당 키워드가 있는 페이지의 번호가 기록되어 있다. RDB의 인덱스 RDB의 인덱스는 일반적으로 B+트리로 구성 B+트리는 데이터(인덱스의 값)가 저장된 리프 노드 + 리프 노드까지의 경로 역할을 하는 논리프 노드 탐색 경로의 출발점은 루트 노드 논리프 노드에는 자식 노드가 보유한 값 중에 최솟값이 저장 자식 노드는 페이지 ID에 대한 포인터가 저장 인덱스의 노드 수 = 테이블의 행 수 인덱스의 왼쪽과 검색 범위 B+트리는 등가 비교와 범위 검색(Between)에 사용 가능 LIKE 절 검색의 경우 와일드카드 위치에 따라 검색이 달라지므로 전방 일치를 권장한다. B+트리..

    인덱스(Index)

    인덱스(Index)

    인덱스(Index)의 사전적 의미는 “색인, 책 속에 다루어진 중요한 단어나 용어를 독자가 쉽게 찾을 수 있도록 페이지를 밝혀 벌여 놓은 것.” 이란 뜻이다. 데이터베이스에서도 Index의 의미는 동일하게 이용된다. 대용량 데이터베이스 내에서 우리가 원하는 데이터를 빠르게 조회하기 위해 사용하는 것이 인덱스이다. 이는 Select 쿼리의 성능 향상이 인덱스의 목적이라고 할 수 있다. 인덱스는 데이터베이스의 테이블 내의 객체가 아닌 데이터베이스의 또다른 객체이다. 이는 인덱스를 사용하는 경우 테이블외에 추가적인 공간이 필요하다는 의미이다. 따라서, 인덱스는 조회 쿼리의 성능 향상을 가져오지만, 인덱스 정보에 관한 연산이 추가적으로 이뤄줘야 하기 때문에 DML(Insert, Update, Delete)에 있..