. 그것은 35M 레코드를 가지고 있으며 .gz 크기는 약 1.2GB입니다.
A)는)
이 시작 부분 (1메가바이트/S)에 빠른 수, 다음 느린 속도가 느린 (삼십분 후에 1백킬로바이트/S까지 SQL 스크립트에서 "테이블 페이지 해제 키를 변경"기본값을 사용 , 그럼 더 나빠질거야.
데이터를 가져올 때 mysql이 page.MYD에 데이터를로드하고 동시에 page.MYI를 업데이트했습니다.
B)는 그 후, page.MYI 별도로 갱신하고, 제 page.MYD에 데이터, MySQL은로드 된 데이터를 가져올 때 20 분 정도
# create empty table
zcat enwiki-20150205-page.sql.gz | sed '/^)/q' | sed 's/ENGINE=InnoDB/ENGINE=MyISAM/' | mysql enwiki
# use myisamchk
myisamchk --keys-used=0 -rq /var/lib/mysql/enwiki/page
# 9min to load data, 12min to re-index (triggered by "enable keys" in script)
pv enwiki-20150205-page.sql.gz | gzip -cd | sed '/^DROP TABLE.*;$/d' | sed '/^CREATE TABLE/,/^).*;$/d' | mysql enwiki
이루어는 myisamchk를 사용한다.
c) 나는 myisamchk --keys-used=0 -rq /var/lib/mysql/enwiki/page
이다. 훨씬 더 효율적입니다.
mysql-refman-5.7-en.pdf
에 p.1425에 따르면 사용 ALTER TABLE ... DISABLE KEYS 고유하지 않은 인덱스
어떤 고유하지 않은 인덱스가 그래서 경우, 사용 myisamchk를 해제하는 키를 업데이트 중지 MySQL의에게 .
반면에 나는 myisamchk -rq /var/lib/mysql/enwiki/page
과 alter table page disable keys
을 비교했는데, 그것들은 같습니다.