CREATE INDEX IDX_SALARIES_DECREASE ON SALARIES(GROUP_NO, FROM_DATE, IS_BONUS);
BETWEEN
, LIKE
, >
, <
는 인덱스 사용하지 않음=
, IN
(=
를 여러번 사용과 동일)는 인덱스 사용IN
의 인자로 서브쿼리 사용시 성능저하OR
: FULL 테이블스캔WHERE SALARY * 10 = 100
CREATE TABLE `user`(
`ID` INT(11) NOT NULL AUTO_INCREMENT COMMENT '아이디',
`NAME` VARCHAR(50) NOT NULL COMMENT '이름',
`HOBBY` VARCHAR(100) COMMENT '취미',
`STAT` CHAR(1) DEFAULT '1' COMMENT `1.활성 2.비활성`,
PRIMARY KEY(ID)
);
ALTER TABLE user ADD INDEX `idx_user_01` (`ID`, `NAME`, `STAT`);
select
A.ID
, A.NAME
, A.STAT
FROM USER A
WHERE 1=1
A.ID = 'ABC'
AND STAT = '1'