Oracle JDBCドライバーでクエリタイムアウトがどのように機能するかについては、 https://forumsを参照してください。 oracle.com/forums/thread.jspa?threadID=550257
短編小説:
- タイムアウトの期限が切れたときにSQLの実行をキャンセルするには、データベースへの完全なラウンドトリップが必要です。データベースは、キャンセルリクエストの処理を開始します。
- ドライバータイムアウトメカニズムは、高精度のメカニズムではありません。実際に実行をキャンセルするには、ネットワークを介してデータベースと通信する必要があるため、ドライバーを非常に正確にする意味はありません。ドライバーが正確であったとしても、データベースがキャンセル要求に応答するために必要なネットワーク遅延と時間は、ドライバーの精度を否定します。したがって、タイムアウトは、サーバーにキャンセルを送信する前に、ドライバーがSQLを実行するために与える最小時間です。