約2か月前、私はEnWikipediaデータ(http://dumps.wikimedia.org/enwiki/20120211/)をmysqlにインポートしました。インデックスの作成に長時間を要する
EnWikipediaデータのインポートが完了した後、私は約2ヶ月間、MySQLのEnWikipediaデータベースのテーブルにインデックスを作成しています。
今、私は "pagelinks"でインデックスを作成しています。
しかし、その点を渡すのに無限の時間がかかるようです。
したがって、私の直感が正しいかどうかを確認するために、残りの時間を確認しました。
その結果、残り予想時間は、(私は初めから再び「pagelinks」にインデックスを作成すると仮定。)60日間であった
My EnWikipedia database has 7 tables:
"categorylinks"(records: 60 mil, size: 23.5 GiB),
"langlinks"(records: 15 mil, size: 1.5 GiB),
"page"(records: 26 mil, size 4.9 GiB),
"pagelinks"(records: 630 mil, size: 56.4 GiB),
"redirect"(records: 6 mil, size: 327.8 MiB),
"revision"(records: 26 mil, size: 4.6 GiB) and "text"(records: 26 mil, size: 60.8 GiB).
私のサーバーは... Linuxバージョン2.6.32です-5-amd64(Debian 2.6.32-39)、メモリ16GB、2.39Ghz Intel 4コア
このような現象は、長い日数を要するインデックスの作成には共通の現象ですか? 誰かがインデックスをより迅速に作成する良いソリューションを持っていますか?
ありがとうございます!
P.S:残りの時間を確認するために以下の操作を行いました。 (申し訳ありませんが、以下のページが日本語で書かれている)
参考文献:http://d.hatena.ne.jp/sh2/20110615
第一。私は "pagelink"でレコードを取得しました。
mysql> select count(*) from pagelinks;
+-----------+
| count(*) |
+-----------+
| 632047759 |
+-----------+
1 row in set (1 hour 25 min 26.18 sec)
第二。 1分ごとに記録量が増えました。
getHandler_write.sh
#!/bin/bash
while true
do
cat <<_EOF_
SHOW GLOBAL STATUS LIKE 'Handler_write';
_EOF_
sleep 60
done | mysql -u root -p -N
コマンド
$ sh getHandler_write.sh
Enter password:
Handler_write 1289808074
Handler_write 1289814597
Handler_write 1289822748
Handler_write 1289829789
Handler_write 1289836322
Handler_write 1289844916
Handler_write 1289852226
第三。録音のスピードを計算しました。
は2の結果によれば、記録の速度は
7233 records/minutes
4です。その後、残りの時間は
(632047759/7233)/60/24 = 60 days
可能なhttpの複製://stackoverflow.com/questions/2167522/innodb-takes-over-an-hour-to-import-600mb-file-myisam-in-a-fif-minutes – SunKing2
今私が忍耐と呼んでいることです。敬意。 – fancyPants