ファイル内の大量のデータを処理し、このデータをデータベースに入れるアプリケーションがあります。シングルスレッドです。そのため、データベース接続を作成し、その接続で準備済みステートメントを作成し、データの処理中にこれらのステートメントを再利用します。何千ものファイルを処理し、同じ準備済みステートメントを何度も再利用できますが、値を更新するだけです。これはうまく機能していますが、...
ファイルの処理に時間がかかりすぎているところまで来ており、すべて独立しているので、並行して処理したいと考えています。問題は、各ファイルが、たとえば 10 個の準備済みステートメントを使用する可能性があることです。そのため、ファイルごとに新しいデータベース接続を作成し (それらはプールされていますが)、これらの 10 個の準備済みステートメントを設定し、それらを閉じてファイルごとに接続を切断しています。そのため、これは 1 回だけではなく、何千回も発生しています。
実際にタイミングを行ったことはありませんが、この接続と準備されたステートメントの使用が最善の方法であるかどうかに興味がありますか? これらの準備済みステートメントを何度も何度も設定するのは本当にコストがかかりますか? これを行うより良い方法はありますか?スレッド間で接続を共有したくないと読んだことがありますが、私が考えていなかったより良い解決策があるでしょうか?