인덱스 생성, 삭제 하는 방법 입니다.
(샘플 테이블)
위 테이블과 같은 구조에 인덱스를 생성하는 예제 입니다.
1. 인덱스 추가로 생성
CREATE INDEX <인덱스명> ON <테이블명> ( 칼럼명1, 칼럼명2, ... );
(예제)
CREATE INDEX idx_test ON books ( writer );
2. 테이블 생성시 인덱스 생성
INDEX <인덱스명> ( 칼럼명1, 칼럼명2 )
UNIQUE INDEX <인덱스명> ( 칼럼명 ) --> 항상 유일해야 함.
(예제)
CREATE TABLE `books` (
`id` varchar(5) NOT NULL,
`name` varchar(20) NOT NULL,
`writer` varchar(20) NOT NULL,
`price` decimal(10,2) DEFAULT '0.00',
`genre` varchar(20) NOT NULL,
`publisher` varchar(20) NOT NULL,
`discount_yn` char(1) NOT NULL,
`discount_rate` decimal(10,0) DEFAULT '0',
`cnt` decimal(10,0) DEFAULT '0',
`sale_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_test` (`writer`)
);
3. 테이블에 추가
ALTER TABLE <테이블명> ADD INDEX <인덱스명> ( 칼럼명1, 칼럼명2, ... );
(예제)
ALTER TABLE books ADD INDEX idx_test ( writer );
4. 인덱스 보기
SHOW INDEX FROM <테이블명>;
(예제)
SHOW INDEX FROM books;
5. 인덱스 삭제
ALTER TABLE <테이블명> DROP INDEX <인덱스명>;
(예제)
ALTER TABLE books DROP INDEX idx_test;
mysql auto_increment 생성 및 초기화 (0) | 2017.07.21 |
---|---|
mysql 암호화 (aes_decrypt) (0) | 2017.07.03 |
mysql sum case group by (0) | 2017.05.23 |
mysql 인덱스 생성, 조회, 삭제 (0) | 2017.03.30 |
MySQL 최대값, 최소값 하나의 row 추출 (MySQL using MAX() with WHERE clauses) (0) | 2017.03.23 |
댓글 영역