特定のディレクトリで新しいファイルを監視し、cx_Oracle モジュールを使用して新しいファイルをデータベースに挿入する Python コードを少し書いています。このプログラムはサービスとして実行されます。ある時点で一度に多数のファイルが到着する可能性がありますが、ファイルが受信されない期間が最大 1 時間ある場合もあります。良い習慣について: データベース接続を無期限に開いたままにしておくのは悪いことですか? 良い考えではないという意見もありますが、一方で、受信したすべてのファイルに対して新しいデータベース オブジェクトを作成し、後でそれを閉じるには、特に多くのファイルを一度に受信した場合に、多くのオーバーヘッドが生じます。これにアプローチする方法についての提案は大歓迎です。
1125 次
1 に答える
2
必要な接続が 1 つまたは 2 つだけの場合は、それらを無期限に開いたままにしても問題はないと思います。
Oracle では、新しい接続の作成が非常に安価な MySQL などの他のデータベースとは異なり、新しい接続の作成は高価な操作です。接続に数秒かかることもあり、接続を頻繁に閉じたり開いたりすると、一部のアプリケーションにとってはボトルネックになる可能性があります.
Oracle でのアイドル状態の接続は少量のメモリを使用しますが、それを除けば、アイドル状態のままで他のリソースを消費することはありません。
DBA の満足度を維持するには、多くのアイドル状態の接続を開いたままにしないようにする必要がありますが、1 つまたは 2 つあれば満足です。
于 2012-07-05T15:36:55.243 に答える