최대 인덱스 키 크기
데이터베이스는 복합 인덱스로도 알려진 인덱스 키의 최대 크기를 제한합니다.
Microsoft SQL Server의 경우:
인덱스 키에서
최대 필드 수는 16입니다.
- 큐 인덱스의 경우, 최대 필드 수는 15이며 워크플로우 시스템은 하나의 필드를 사용합니다.
- 작업목록 인덱스의 경우, 최대 필드 수는 16입니다.
- 이벤트 로그 인덱스의 경우, 사용자 필드의 최대 수는 14이며 워크플로우 시스템은 각 인덱스에 F_TimeStamp 및 F_SeqNumber를 추가합니다.
인덱스 키의 최대 크기는 900바이트입니다.
복합 인덱스 키의 크기를 결정하기 위해 Microsoft SQL Server는 모든 고정 열과 모든 변수 열의 최소값을 더해서 복합 인덱스가 허용 가능한 최대 인덱스 크기 내에 있는지 여부를 판별합니다. 그러나 테이블에 이미 데이터가 있고 열의 기존 데이터에서 인덱스의 전체 바이트 수가 최대 크기보다 큰 것을 허용하는 경우, 인덱스를 작성할 수 없습니다. 또한 인덱스가 작성된 후에 인덱스의 최대 값이 최대 값 크기를 초과할 수 있는 데이터가 삽입(또는 업데이트)되는 경우, 해당 시점에 오류가 발생합니다.
예를 들어, 크기가 500바이트인 column1과 크기가 500바이트인 column2로 구성된 인덱스를 정의할 수 있습니다. column1에 500바이트의 데이터를 삽입하고 column2에 500바이트의 데이터를 삽입하는 경우, 오류가 발생합니다. column1에 100바이트의 데이터를 삽입하고 column2에 100바이트의 데이터를 삽입하는 경우, 오류가 발생하지 않습니다.
Oracle의 경우:
인덱스 키의 최대 필드 수는
32입니다.
- 큐 인덱스의 경우, 최대 필드 수는 31이며 워크플로우 시스템은 하나의 필드를 사용합니다.
- 작업목록 인덱스의 경우 최대 필드 수는 32입니다.
- 이벤트 로그 인덱스의 경우, 사용자 필드의 최대 수는 30이며 워크플로우 시스템은 각 인덱스에 F_TimeStamp 및 F_SeqNumber를 추가합니다.
인덱스 키의 최대 전체 크기는 데이터베이스 블록 크기에서 일부 오버헤드를 뺀 값의 70%입니다.
SQLPlus에서 데이터베이스 데이터 블록 크기를 결정하려면
다음을 수행하십시오.
- sysdba로 로그온하십시오.
- SQL>에서 show parameters db_block_size를 입력하십시오.
인덱스 키의 크기를 결정하기 위해 Oracle 서버는 모든 변수 길이 필드에 대해 정의된 최대 크기와 모든 고정 길이 필드의 크기를 더합니다.
DB2®의 경우:
인덱스 키에서
최대 필드 수는 64입니다.
- 큐 인덱스의 경우, 최대 필드 수는 63이며 워크플로우 시스템은 하나의 필드를 사용합니다.
- 작업목록 인덱스의 경우, 최대 필드 수는 64입니다.
- 이벤트 로그 인덱스의 경우, 사용자 필드의 최대 수는 62이며 워크플로우 시스템은 각 인덱스에 F_TimeStamp 및 F_SeqNumber를 추가합니다.
고유 인덱스 키의 결합된 최대 전체 길이는 8192입니다.
마지막 업데이트 날짜: 2015년 10월
bpfcg010.htm
© Copyright IBM Corp. 2015.