문제

MySQL 또는 Oracle과 같은 데이터베이스에서 인덱스는 어떻게 구현됩니까? 일반 인덱스는 B- 트리로 저장되어 있지만 여러 열에서 색인화되는 복합 인덱스에 대해서는 아무것도 찾을 수 없었습니다. 나는 사용 된 데이터 구조의 이름을 찾고 있으므로 연구 할 수 있습니다.

보다 일반적으로 데이터베이스 구현 세부 정보에 대한 더 많은 정보는 어디에서 찾을 수 있습니까? 나는 대학에서 훨씬 나중에 코스를 수강 할 것입니다. 그러나 지금은 궁금합니다.

도움이 되었습니까?

해결책

복합 인덱스도 B- 트리를 사용하며 인덱스 된 열을 연결하여 키를 결정합니다. 사이드 노드로서 Oracle은 다른 인덱스 유형 (즉, 비트 맵 인덱스도 알고 있습니다. 그러나 이는 색인화 된 열의 수에 따라 다릅니다.

다른 팁

B- 트리. 모든 지수는 B- 트리, 심지어 복합적인 인덱스로 저장됩니다.

인덱스가 어떻게 구성되는지에 대한 더 많은 연구를 원한다면 B+ 나무와 B* 나무를 살펴보십시오. SQL Server의 경우 Kalen Delaney의 내부 SQL Server : 스토리지 엔진 인덱스 조직을 포함하여 SQL Server의 너트와 볼트에 대한 훌륭한 책입니다. 따라서 확실히 확인해야합니다.

의견 제시자는 Oracle이 B- 트리와 매우 다르게 구조화 된 비트 맵 인덱스를 사용할 수 있지만 전통적인 관계형 데이터베이스에는 거의 사용되지 않으며 OLAP 유형 응용 프로그램에 더 자주 사용되며 빠른 액세스가 필요한 경우에 더 자주 사용됩니다. 비 선택적 데이터 그룹에서.

편집 : 예를 들어 SQL Server는 이제 사용합니다. ColumnStore 인덱스. 대형 BI 유형 워크로드로 작업을 수행하는 경우 B- 트리와 완전히 다른 방식으로 데이터를 저장하므로이를 살펴볼 가치가 있습니다.

SQL Server는 이제 다른 메커니즘을 사용합니다 메모리 최적화 테이블 또한 OLTP 유형 쿼리에 매우 유용한 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top