본문 바로가기

728x90
반응형

테이블변경

(3)
[SQL 2005 GUIDE] 테이블 변경 - 열 변경하기 데이터베이스를 관리하다 보면 열을 변경해야 하는 경우가 발생합니다. 제 경험에 의하면, 열에 저장되는 값의 크기가 초기보다 커져서 현재의 데이터 타입으로는 원하는 값을 수용할 수 없어서 길이를 확장하는 경우가 가끔 발생합니다. 그 외에 동일한 데이터가 데이터베이스 내에 중복관리되고 있는데 테이블에 따라 데이터타입이 서로 상이하여 조인 시에 성능 저하가 발생하는 등의 문제가 발생하여 부랴부랴 데이터 타입을 동일하게 맞추는 경우도 아주 가끔이기는 하지만 발생합니다. 또는 NULL 허용으로 관리하였는데 NOT NULL로 변경하고자 하는 경우도 발생합니다. 열을 변경하는 구문은 단순하므로 작업에 어려움은 없을 겁니다. 열 데이터 타입 변경에 소요되는 시간을 사전에 제대로 예측하는 것이 필요합니다. 그를 위해서는..
[SQL 2005 GUIDE] 테이블 변경 - 열 삭제하기 LargeTabAddNotNullCol 테이블에 DEFAULT를 설정한 Addcol 열을 추가 한 다음에, 다시 그 열을 삭제하는 예제입니다. 제약 조건이 설정된 열은 제약 조건을 삭제한 후, 열을 삭제합니다. [따라하기] 열 삭제하기 USE Sample; GO ALTER TABLE CheckTest ADD Addcol CHAR(100) NOT NULL CONSTRAINT DF_Addcol DEFAULT 'default value'; GO ALTER TABLE CheckTest DROP CONSTRAINT DF_Addcol; GO ALTER TABLE CheckTest DROP COLUMN Addcol; GO
[SQL 2005 GUIDE] 테이블 변경 - 열 추가하기 테이블에 열을 추가할 경우, NOT NULL 속성으로 열을 추가할 수는 있지만 이 경우에는 반드시 DEFAULT를 지정해야 합니다. 대용량 테이블에 대해서 NOT NULL 속성으로 열을 추가하면 소요시간이 오래 걸리고 잠금으로 인하여 서비스에 지장이 발생하는 문제가 발생합니다. 7X24 서비스를 제공해야 하는 시스템의 대용량 테이블에 NOT NULL 속성의 열을 추가하고자 하는 경우에는 먼저 NULL 속성(NULL 허용)으로 열을 추가하고, 추가한 열의 값이 NULL인 데이터를 조금씩 나누어서 UPDATE한 다음에 모든 NULL 값을 NULL이 아닌 값으로 업데이트되면 NOT NULL 속성으로 열을 변경하면 서비스에 지장 없이 작업이 가능합니다. 대용량 테이블인 경우에는, NOT NULL 속성으로 열을 ..

728x90
반응형