2015-10-23 45 views
6

私は2000万行と2列のcsvファイルをデータベースにインポートする必要がありますが、mysqlワークベンチのデータインポートウィザードでこれを実行しようとすると、プログレスバーを見て、1ヶ月で終了します。 これを行うにはもっと速い方法が必要です。 ありがとうございましたMySQLワークベンチテーブルのデータインポートウィザードが非常に遅い

+0

私は[この回答](http://stackoverflow.com/a/32702768)を書きました。彼の8時間のインポートを1分ほどかかった。極端なようですが、それは彼が言ったことです。 – Drew

答えて

9

膨大なデータセットの最初の試みとして、常にLoad Data Infileを使用してください。

MysqlマニュアルページLoad Data Infileを参照してください。

この質問に対するいくつかの回答を書きましたが、ピア比較のために、この男の質問と私のAnswerとWorkbenchとLoad Data Infileの時間比較を参照してください。

+4

これは誰にも役立つ場合、csvからテーブルを構築するための適切なウィザードがあるため、データの最初の行でインポートウィザードを使用します。次に、 'Load Data Infile'コマンドを使用してテーブルにデータを入力します。その素晴らしいハイブリッドアプローチ。そのUIの実際の恥は、この方法ではうまく機能しません。今ではコード化されているので、バルクインポートとしては無駄です。 – raider33

+0

共有のための@ raider33ありがとう – Drew

3

これは別の方法です。 CSVデータをSQLスクリプトにダンプするには、このためのコードを書き留める必要があります。 /ユーザ/デスクトップ/ SQLスクリプト/ script.sql
データ:基本的に、あなたのCSVデータは、以下に類似したに変換されます は
INSERT INTO TABLE_NAME values(1,2),(1,3),....;
今MySQLのシェルスクリプトを使用してSOURCEコマンド
MySQLの>ソースCを使用するコマンド数百万回の記録のためにCSVを直接インポートするのに比べて、より速くインポートされます。

3

コードを書いたくない場合は、HeidiSQLのようなもう1つの無料のGUIクライアントをお試しください。これは、MySQL Workbenchよりもずっと速くCSV /テキストファイルをインポートします。

1

私はMySQLワークベンチで同様の問題がありました。 私が見つけた代替案はToad for MySQL(https://www.toadworld.com/m/freeware/1469

リモート管理のMySQLサーバに接続するには、MySQL管理者から40分かかります。 MySQLサーバ自体ではアップロードに数分かかります。 Toadではリモートサーバーに接続して数分でアップロードできます。私はHeidiSQLを試しましたが、インポートするのは友好的ではありませんでした。

関連する問題