여러 컬럼 추가를위한 DB2 alter table 명령문은 어떻게 작동합니까? 열을 추가하는 동안 문제가 발생하면 열을 순차적으로 추가하고 이미 추가 된 열을 삭제합니까? 기둥의 순서가 유지됩니까? ALTER TABLE 문을 여러 번 호출하는 것이 더 효과적입니까, 각 열에 대해 한 번, 성능 현명합니까?여러 열을 추가하기위한 DB2 alter table 문은 어떻게 작동합니까?
1
A
답변
1
이처럼 한 번에 열 배를 추가 할 수 있습니다
alter table jgrun.tmp
drop column col1
drop column col2
추가해야합니다/당신은이 방법을 사용합니다 여러 열을 드롭 :
alter table jgrun.tmp
add column col1 varchar(15)
add column col2 int default 0
add column col3 varchar(10)
당신은 다음과 같은 여러 열을 제거 할 수 있습니다 성능 향상을 위해
1
DDL (alter table 포함)은 트랜잭션 제어하에 있으므로 여러 변경 (생성, 드롭 등)를 사용하면 트랜잭션 로깅 용량에 따라 단일 작업 단위로 작업을 수행 할 수 있습니다. 따라서 여러 DDL 문은 단일 원자 조치가 될 수 있습니다. 즉, 하나가 실패하면 전체 트랜잭션이 롤백됩니다.
Db2 (Z/OS, i- 시리즈, Unix/windows) 및 Db2 버전을 호스팅하는 플랫폼에 따라 Db2에서 reorg가 필요할 때까지 발생할 수있는 테이블에 대한 개별 변경 횟수에 제한이 있습니다. 이는 사용하는 ALTER 문의 수에 영향을 미칠 수 있습니다 (예 : 단일 명령문에서 둘 이상의 열 추가).
성능이 그룹 변경의 결정 요인이되지 않을 수 있습니다. 복구 가능성, 공간 고려 사항, 개체 종속성, 백 아웃, HA/DR 고려 사항, 변경 창 타이밍, 가용성 문제, 일정, 코드 종속성 등은 사용하는 순서를 결정할 수 있습니다. 하나의 크기가 모두에 맞지는 않습니다.