2012-02-27 10 views
3

DB2의 varchar 필드에 대해 varchar 길이를 255 또는 256으로 선택할지 혼란 스럽습니다.DB2 Varchar 필드 길이

성능을 위해서는 어떤 것이 좋을까요? Google에서 내 검색에서 1 바이트와 동일하므로 255가 가장 적합합니다. 어느 것이 맞는지? varchar (255)는 1 바이트를 필요로합니까? 아니면 varchar (256)는 1 바이트를 필요로합니까?

답변

6

개인적으로 가변 길이 열에 대해 1 바이트 또는 2 바이트를 읽는 것이 많은 영향을 미치지 않을 것이라고 생각합니다. 이 길이가 행에서 읽어야하는 문자 수를 분석하는 데 사용된다는 사실은 더 많은 불이익을줍니다 (수량과 데이터에 각각 하나씩).

예를 들어 1 백만 개의 레코드가있는 테이블의 추가 바이트가 많은 불필요한 디스크 공간이라고 생각할 수 있지만 압축 기능을 활성화하면 스토리지 (IO) 관련 문제가 아니며 처리도 CPU). 그런데

: 255 = 11111111 (한 바이트) 256 = 100,000,000 (두 바이트)

만 추천 30 개 이상의 문자 열에 대한 VARCHAR를 사용하는 것, 그렇지 않으면 가장 사용하는 고정 길이 컬럼 인 CHAR은 길이와 데이터를 읽는 오버 헤드가 거의 문자가 없을 때 읽을 데이터 양을 많이 비교하기 때문에 발생합니다. (http://www.ibm.com/developerworks/data/library/techarticle/dm-0404mcarthur/)

+0

작은 필드 인 경우 CHAR을 사용하는 또 다른 흥미로운 이유 : 정렬을 수행 할 때 DBB 엔진은 varchar의 전체 길이에 공백을 채 웁니다. http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.perf%2Fsrc%2Ftpc%2Fdb2z_improvesortprocessing.htm –