2016-07-26 9 views
2

여러 개의 열이있는 데이터베이스가 있다고 가정 해보십시오. 각 열에는 종종 유사한 많은 값이 있습니다.데이터베이스가 중복 값을 어떻게 처리합니까?

예를 들어 "Description"이라는 이름의 열을 가질 수 있으며 값은 "측정 설명입니다"라고 표시 될 수 있습니다. 이 설명은이 열에서 최대 1000000 번 발생할 수 있습니다.

내 질문은이 데이터베이스의 디자인을 최적화 할 수있는 방법이 아니라 데이터베이스가 이러한 중복 값을 처리하는 방법입니다. 이러한 중복 값은 (데이터베이스의 전체 크기와 관련하여) 완벽한 설계로 효과적으로 저장됩니까? 그렇다면 값은 어떻게 압축됩니까?

답변

2

유일한 정답은 다음과 같습니다. 데이터베이스 및 구성에 따라 다릅니다. 왜냐하면이 책에는 은색 총알이 없기 때문입니다. 일부 데이터베이스는 각 열의 값을 한 번만 저장하지만 (일부 열 저장소 등) 기술적으로이 작업을 수행 할 것인지 여부를 결정할 필요는 없습니다.

일부 데이터베이스에서는 DBMS에서 최적화를 제안 할 수 있으며이 경우에는 문자열을 참조하는 ID로 문자열을 줄이는 기존 값만 포함하는 ENUM 필드를 제안 할 수 있습니다. 이 "최적화"는 예를 들어 ENUM 필드를 적용해야하는 필드 설명에 새 값을 추가하려는 경우와 같은 가격으로 제공됩니다.

실제 사용 사례에 따라 이러한 최적화는 가치가 없거나 데이터가 자주 변경되는 경우 (예 : 삽입 또는 업데이트)와 같은 쇼 스토퍼 일 수도 있습니다. dbms는 실제로 쿼리를 처리하는 것보다 고유성/중복을 관리하는 데 더 많은 시간을 소비합니다.

압축에 대한 질문 : 구성 및 데이터베이스 시스템에 따라 달라 지겠지만 필드 유형에 따라 다릅니다. 텍스트 데이터는 압축 될 수 있고 인덱스되지 않은 텍스트 필드의 경우 간단한 압축 알고리즘을 사용할 때 거의 단점이 없어야합니다. 어느 알고리즘이 dbms와 구성에 의존하는지, 나는 의심한다.

더 구체적으로 밝혀지지 않으면 구체적인 답변이 없습니다.

+0

감사합니다. 그것은 내 구성에 추가 구성이 적용되어야한다는 것을 의미합니다 ... – Ohumeronen