SQLAlchemy ORM を使用した一括挿入
データベースにデータを挿入するときは、効率が非常に重要です。デフォルトでは、SQLAlchemy は個々のオブジェクトをテーブルに挿入しますが、一括操作には時間がかかることがあります。
SQLAlchemy は一括挿入をサポートしていますか?
はい。バージョン 1.0.0 以降、SQLAlchemy には一括操作が含まれています。これらにより、単一トランザクションで一括挿入または一括更新を実行できます。
一括挿入を実行する方法
SQLAlchemy ORM を使用して一括挿入を実行するには、次の手順に従います。
例:
s = Session() objects = [ User(name="u1"), User(name="u2"), User(name="u3") ] s.bulk_save_objects(objects) s.commit()
セッションによるパフォーマンスの強化
デフォルトでは、SQLAlchemyすべての操作を即座にコミットします。一括挿入のパフォーマンスを向上させるには、自動コミットを無効にし、すべてのオブジェクトが追加された後に手動でコミットします。これにより、単一トランザクションでデータがデータベースに確実にロードされます。ただし、自動コミットを無効にすると、エラーが発生した場合にデータの整合性の問題が発生する可能性があることに注意してください。
自動コミットを無効にするには、セッションの作成時に autocommit パラメータを False に設定します。次に、すべてのオブジェクトが追加された後でセッションを手動でコミットします。
s = Session(autocommit=False) s.bulk_save_objects(objects) s.commit()
一括操作を使用し、セッションの使用を最適化することで、一括データ挿入タスクにおける SQLAlchemy ORM アプリケーションのパフォーマンスを大幅に向上させることができます。
以上がSQLAlchemy ORM を使用して効率的な一括挿入を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。