mysqldumpで大量のダンプデータを読み込む場合
前回、MySQLのload dataでCSVを読み込ませる場合にPKが付いてる(=インデックスがある)かどうかで、大量データの場合に死ぬほど速度差が出てくることがわかりましたが、じゃあsqldumpの場合はどうなんでしょうか。
ご存知の通り、一発のINSERTで大量のデータを突っ込むようなSQLが生成されるため、あんまり違いとかないんじゃないのかなーというのが予想です。
今回は諸事情でマシン性能がだいぶ違うので、前回のデータとは全然比較になりませんが。
400万件のレコードで、InnoDBです。テーブル構成も同じ。
・PKあり
# time mysql -u root --password=hoge benchmark_s < benchmark_s.sql
real 3m50.966s
user 0m10.289s
sys 0m0.016s
・インデックス(PK)なし
# time mysql -u root --password=hoge benchmark_noidx < benchmark_noidx.sql
real 2m14.428s
user 0m10.345s
sys 0m0.096s
400万件では糞重いということはないですが、意外と差が出てます。