database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1031 게시물 읽기
No. 1031
인덱스 컬럼 길이에 대해서 질문드립니다.
작성자
김경호(duiee)
작성일
2006-06-27 18:05
조회수
8,137

안녕하세요~! 오늘도 질문을 드리는 초보자입니다.

 

DB에서 특정컬럼 VARCHAR(4000) 싸이즈인 컬럼에 인덱스를 주려고 하는데

db2에서는 오류가 발생합니다.

밑에 설명을 보면 1024이상 줄수없다고 하는데 그이상이 있는 컬럼은 어떻게 해야하는지

인덱스를 줄수없다면 다른 해결책은 없는지 조언을 듣고자 합니다..

매번 바쁘신 와중에 읽어주셔서 감사합니다..

밑에는 오류의 내용입니다.

 

 

SQL0614N
지정된 컬럼의 결합된 길이가 너무 길기 때문에 인덱스 또는 인덱스 확장자 index-name을(를) 작성하거나 변경할 수 없습니다.
설명:

키 컬럼 내부 길이의 합이 1024를 초과하므로 인덱스를 작성하거나 변경할 수 없습니다. 또한 LONG VARCHAR, LONG VARGRAPHIC 또는 LOB 컬럼을 사용하여 인덱스를 작성할 수 없습니다. 유형이 지정된 테이블에 인덱스가 정의된 경우, 최대 길이를 4바이트만큼 줄이는 추가 인덱스 오버헤드가 있습니다. 인덱스는 하나 이상의 컬럼 데이터 유형을 변경하는 ALTER TABLE 또는 ALTER NICKNAME문으로 변경할 수 있습니다.

GENERATE KEY 함수가 리턴하는 컬럼의 합이 1024를 초과하므로 인덱스 확장자를 작성할 수 없습니다.

명령문을 처리할 수 없습니다. 지정된 인덱스나 인덱스 확장자가 작성되지 않았거나, 테이블 또는 별칭을 변경할 수 없습니다.

사용자 응답:

인덱스 정의를 수정하거나 컬럼을 변경하려면, 하나 이상의 키 컬럼을 제거한 다음, 키 길이를 허용된 최대 크기로 줄이십시오. 인덱스 확장자 정의에 다른 GENERATE KEY 함수를 지정하거나 함수를 다시 정의하여 리턴된 행의 길이를 줄이십시오.

sqlcode : -614

sqlstate : 54008

 

이 글에 대한 댓글이 총 1건 있습니다.

인덱스를 만들어도 이것을 사용할 수 있는 방법은 제한됩니다.

예로 =,>,like '_%',between등입니다. varchar(4000)의 컬럼이 index를 사용하는 경우는 like 'XXX%'이경우를 제외하고는 사용할수있는 경우는 없어 보입니다. 해당 인덱스를 사용하는 sql이 어떤것이지 궁굼하네요.

테이블을 만드실때 컬럼 크기를 4000으로 했지만 실제 들어가는 데이터가 작다면 컬럼 크기를 데이터 크기에 맞게 줄여 migration하시는 것이 좋습니다. 둘다 사용하는 테이블스페이스의 크기는 비슷하지만 application이 사용하는 buffer size는 차이가 있습니다.

인덱스의 크기는 가능한 작게 하는것이 좋습니다. 조회시 성능이 향상이 되지만 insert,update시에는 부하가 됩니다.

 

도님이 2006-06-27 18:29에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1034clustering index 생성 쿼리문 [1]
최병석
2006-06-30
7186
1033마이너스 값을 넣으려면 [1]
전융
2006-06-29
6914
1032DB2의 CASE 구문 [4]
희재
2006-06-28
8920
1031인덱스 컬럼 길이에 대해서 질문드립니다. [1]
김경호
2006-06-27
8137
1030db2의 rollup문제 [1]
희재
2006-06-27
9331
1029인덱스 질문이요 [1]
이문선
2006-06-27
7041
1028WHERE절에서 복수개 컬럼에 IN조건시 [2]
김경호
2006-06-26
7343
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다