인덱스 생성 빠르게 하는 방법
페이지 정보
작성자 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 4,491회 작성일 12-03-05 22:30본문
MySql 에서 bulk loading후 index를 생성하는데 시간이 오래 걸리는데 다음과 같이 하면 약 1/10도 안되는 시간에 index를 생성할 수 있다.
**** mysql에서 다음 명령으로 테이블과 인덱스를 생성
CREATE TABLE tablename (id CHAR(13) NOT NULL,
passwd CHAR(8) NOT NULL,
name CHAR(8) NOT NULL,
email CHAR(64) NOT NULL,
INDEX (id)
);
ALTER TABLE tablename ADD INDEX index_name(col1, col2,...);
**** 테이블 생성시에 키를 바로 지정하는 예문
create table test(
test1 int not null auto_increment primary key(test1), /* 프라이머리키 설정 */
test2 char(1),
test3 char(2),
index idx_test2(test2), /* test2필드를 idx_test2라는키이름으로 인덱스설정 */
index idx_test23(test2,test3) /*test2,test3필드를 idx_test23이라는 키이름으로 복합인덱스설정 */
);
**** mysql의 var 밑에 table이 존재하는 디렉토리에서 다음 명령으로 인덱스를 잠시 죽임
myisamchk --keys-used=0 -rq table_name
**** mysql에서 다음 명령을 입력하여 데이터 일괄적으로 Import
load data 'file-name' into table_name;
(예) LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ',';
**** mysql의 var 밑에 table이 존재하는 디렉토리에서 다음 명령으로 익덱스 생성
myisamchk -rq table_name
**** mysql에서 다음 명령으로 적용
flush tables;
단. myisam 일때만 가능함.
댓글목록
등록된 댓글이 없습니다.