SQL
MariaDB 멀티 인덱스(index) 설정
Link2Me
2022. 4. 5. 16:53
728x90
테이블 설계 예시이다.
중복 체크를 하기 위해서 UNIQUE KEY 설정을 3개의 칼럼을 JOIN 으로 해서 하나의 KEY로 설정했다.
Engine 은 MyISAM 으로 한 이유는 Legacy PHP 로 코딩하는 경우, InnoDB 엔진으로 설정하면 원치 않는 에러 발생시 해결하기 난감한 경험을 겪어서이다.
CREATE TABLE voc (
idx int(11) NOT NULL,
userID varchar(20) NOT NULL COMMENT '고객ID',
voctype varchar(100) NOT NULL COMMENT 'VOC유형',
vocCnt int(5) NOT NULL DEFAULT 0 COMMENT 'VOC건수',
YM varchar(12) NOT NULL COMMENT '년월',
CEndDate varchar(12) DEFAULT NULL COMMENT '계약종료일',
custtype varchar(20) DEFAULT NULL COMMENT '고객분류',
display int(2) NOT NULL DEFAULT 1,
reg_date timestamp NOT NULL DEFAULT current_timestamp() COMMENT '등록일자'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE voc
ADD PRIMARY KEY (idx),
ADD UNIQUE KEY id_ym_type (userID,YM,voctype);
ALTER TABLE voc
MODIFY idx int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
|
728x90