現在、私は現在のデータベースを別のデータベースに移行しようとしています。そのプロセスは残念ながらpythonを伴います。私はそれをシングルスレッド化することができましたが、1Mのデータを完了するのには非常に時間がかかりました。 Javaのエグゼキュータや先物のようなPythonにも同様のメソッドがありますか? user_listは、私は単一の挿入を行う代わりに、単一のスレッドの時点で例えば8を挿入する8つの並行スレッドを実行する場合、それはより速く全体の多くになると思います1000/1MDB挿入用のマルチスレッドPython
for data in user_list:
q = """ insert into users(id,name,address,password)
Values({id},{name},{address},{password})
""".format(id=data['id'],name=data['name'],address=data['address'],password=data['password'])
db.command(q)
の塊であることを
ノート
どのDBを使用していますか?より速いかもしれませんが、スレッドごとに別々のdb接続が必要です。あなたのDBが "一括挿入"または "バッチ挿入"をサポートしているかどうか最初に確認します。通常、一度に1行挿入するよりもはるかに高速です。 – ErikR
ああ、私は同時にn挿入を行うために1つの接続を使用することはできませんか?私は現在、SQLをorientdbにインポートしています。 @ErikR – kenlz
いいえ - スレッドごとに1つの接続が必要です。私の答えも見てください。 – ErikR