2000万行と2列のcsvファイルをデータベースにインポートする必要がありますが、MySQL Workbenchのデータインポートウィザードでこれを実行しようとすると、非常に遅くなります。バー。
これを行うには、より高速な方法が必要です。
常にLoad Data Infile
データの巨大なセットの最初の試みとして。
Load Data Infile のMysqlマニュアルページ。
この質問に対するいくつかの答えを書きましたが、ピア比較については、この男の質問と、私の Answer と、WorkbenchとLoad Data Infileの時間比較を参照してください。
これは代替です。 CSVデータをSQLスクリプトにダンプします。このためのコードを書き留める必要があります。基本的に、csvデータは以下のコマンドのように変換されますINSERT INTO TABLE_NAME values(1,2),(1,3),....;
MySQL Shellスクリプトを使用し、SOURCE
コマンドを使用
mysql>ソースC:/ Users/Desktop/sql scripts/script.sql
数百万件のレコードのCSVを直接インポートする場合と比較して、データのインポートが速くなります。
コードを書きたくない場合は、HeidiSQLのような別の無料のGUIクライアントを試すことをお勧めします。 MySQLワークベンチよりもはるかに迅速にCSV /テキストファイルをインポートします。
データセットのインポートには常にデータのロードをロードすることをお勧めします。不便なのは、インポートする前にテーブル構造を作成する必要があることです。インポートウィザードを使用すると、csvまたはjsonから新しいテーブルを直接作成できます。
この遅さの理由は次のとおりだと思います:ワークベンチはpythonインポートウィザードに使用します。
何らかの理由で構造を作成したくない場合は、プロセスを開始し、csvからテーブルを作成してからプロセスを強制終了できます。次に、テーブルからすべてを削除し、データをファイルにロードします。それはい「ハック」のようなものですが、私にとってはうまくいきました。
MySQLワークベンチでも同様の問題がありました。私が見つけた代替手段は、Toad for MySQL( https://www.toadworld.com/m/freeware/1469 )
MySQL管理者経由で40分かかり、リモートMySQLサーバーに接続します。 MySQLサーバー自体では、アップロードに数分かかります。 toadを使用すると、リモートサーバーに接続して数分でアップロードできます。 HeidiSQLを試してみましたが、インポートに適しているとは思いませんでした。