LOAD XML
XML データを MySQL テーブルにインポートするために使用することは良い考えですか? MySQL の新しいバージョン (私は 5.5.34 を使用しています) で既知の問題やパフォーマンスの大幅な改善はありますか?
約 50 MB の XML と、それぞれに 1 つのインデックスを持つ単純な空の InnoDB テーブルを使用して実行した現在のテストは、パフォーマンスが非常に悪いことを示唆しています。そのパフォーマンスを考えると、すべてのデータ (2000 万行) をインポートするには約 80 日かかりますが、目標は約 4 ~ 8 時間です。
SQL コードは次のようになります。
LOAD XML LOCAL INFILE 'import.xml'
REPLACE INTO TABLE assets ROWS IDENTIFIED BY '<asset>';
MySQL サーバーは、VMware Fusion の CentOS 6.3 で実行されます。すべてのファイルはその VM 内にあるため、インポート中にホスト FS にアクセスすることはありません。