독서

[개발자를 위한 인덱스 생성과 SQL 작성 노하우] 인덱스는 논리적 분류이다

오렌지색 귤 2022. 3. 16. 18:55
반응형

세 줄 요약

 

물리적 분류는 동일한 시공간에서 오직 한 분류만 가능하며, 분류 대상과 분류 정보는 일대일 관계이다

 

논리적 분류는 동일한 시공간에서 동시에 다양한 분류가 가능하며, 분류 대상과 분류 정보는 일대다 관계이다

 

따라서 DB에서는 논리적 분류를 사용하며, 분류 대상(테이블) 과 분류 정보(인덱스) 를 분리했다

 

 

 

 

 


물리적 분류와 논리적 분류

 

                            물리적 분류                                    논리적 분류
직접적이고 시각적인 분류 방식 간접적이고 추상적인 분류 방식
인류 역사와 함께 널리 사용됨 컴퓨터 사용과 더불어 폭넓게 사용
현실 세계의 분류에서 적합 디지털 세상의 분류에 적합
분류 대상과 분류 정보 일체형 분류 대상과 분류 정보 분리
동일한 시공간에서 오직 한 분류만 가능 동일한 시공간에서 동시에 다양한 분류 가능
분류 대상과 분류 정보는 1:1 관계 분류 대상과 분류 정보는 1:N 관계

 

 

 

분류 대상과 분류 정보의 분리

 

다양한 분류를 동시에 가능하게 하는 유일한 방법은 분류 대상과 분류 정보를 분리하는 것이다

 

 

 

 

인덱스는 논리적 분류

 

DB에서 인덱스는 논리적 분류의 특성을 지닌다

 

분류 대상과 분류 정보의 분리 에서 분류 대상은 테이블, 분류 정보는 인덱스와 동치이다

 

인덱스는 테이블의 위치 정보를 갖고 있으므로 종속 관계를 가지며, 테이블 삭제 시 자동으로 삭제된다

 

따라서 동일한 시공간에서 동시에 다양한 분류 가능 의 의미는 하나의 테이블에 여러 개의 인덱스가 종속적으로 존재한다는 뜻이다

 

 

 

테이블을 삭제할 때 뷰는 자동으로 삭제되지 않으므로 테이블과 뷰의 관계는 종속 관계가 아니다

뷰는 테이블의 객체 정보를 갖고 있으므로 굳이 함께 삭제할 필요가 없다

 

 

 

 

 

분류 대상과 분류 정보가 분리되지 않는다면?

 

  1. 저장 공간을 분류의 특성에 맞게 미리 할당해야 한다
  2. 상시적으로 공간 이동을 해야 하고, 분류를 유지하는 데 많은 비용이 든다
  3. 오직 하나의 분류만 가능하다

 

1번과 2번에서 많은 유지 비용이 필요한 것도 문제지만, 특히 3번에 대한 제약은 데이터에 대한 다양한 분류가 필요한 디지털 세상에서 치명적인 약점이다

 

이러한 이유로 DB에서는 테이블은 분류 대상만을 갖고 인덱스는 분류 정보만을 갖도록 분리했다

 

 

 

 

 

 


PS

개발자를 위한 인덱스 생성과 SQL 작성 노하우, 글봄, 이병국 저

반응형