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(11NOT NULL,
  userID varchar(20NOT NULL COMMENT '고객ID',
  voctype varchar(100NOT NULL COMMENT 'VOC유형',
  vocCnt int(5NOT NULL DEFAULT 0 COMMENT 'VOC건수',
  YM varchar(12NOT NULL COMMENT '년월',
  CEndDate varchar(12DEFAULT NULL COMMENT '계약종료일',
  custtype varchar(20DEFAULT NULL COMMENT '고객분류',
  display int(2NOT 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(11NOT NULL AUTO_INCREMENT;
COMMIT;
 

 

 

728x90