상세 컨텐츠

본문 제목

[mysql] 인덱스 생성, 삭제, 확인

DB/MySql

by husks 2017. 6. 20. 13:37

본문

반응형

 

인덱스 생성, 삭제 하는 방법 입니다.

 

(샘플 테이블)

 

 

위 테이블과 같은 구조에 인덱스를 생성하는 예제 입니다.

 

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;

 

반응형

관련글 더보기

댓글 영역