私のアプリケーション ログでは、クエリの結果が繰り返し処理されていること (JDBC ResultSet を使用しており、派手なことは何もありません) と、実際にはテーブルにある特定の結果が欠落しているか、結果セットに表示されるのが遅すぎることがわかります (I'これが発生した場合、最後に到達する前に主キー違反が発生することが多いため、どちらかわかりません)。
私のクエリは次のとおりです。
select t.* from myschema.vm t order by id;
ただし、SQL Developer で (データベースが変更されていないときに) まったく同じクエリを実行すると、この問題が発生することはなく、アプリケーションでは約半分の時間しか発生しません (原因で発生しない場合があると思われます)。すべての挿入と更新によりテーブルが変更されます)。
その他の重要なポイント:
- ResultSet を反復処理しながら、別のデータベース接続を使用して更新、挿入、および場合によっては削除を行っています。しかし、これは問題ではありませんよね?
- 接続プーリングに BoneCP を使用しています。
- データベースのエンコーディングは AL32UTF8 です。
なぜこうなった?それは私を夢中にさせています!