sql >> Database teknologi >  >> RDS >> Oracle

Java 1.6 og Oracle JDBC 14 setQueryTimeout virker ikke

Se, hvordan forespørgselstimeout fungerer i Oracle JDBC-driveren her:https://forums. oracle.com/forums/thread.jspa?threadID=550257

Lang historie kort:

  1. Det tager en hel rundtur til databasen at annullere SQL-udførelsen, når timeoutet udløber. Databasen vil komme rundt til at behandle annulleringsanmodningen, når det føles som det.
  2. Driver-timeoutmekanismen er ikke en højpræcisionsmekanisme. Da en faktisk annullering af udførelsen kræver, at man taler til databasen over netværket, nytter det ikke noget at gøre driveren super præcis. Selv hvis driveren var præcis, ville netværksforsinkelser og tid, der kræves for databasen at svare på annulleringsanmodningen, ophæve driverens præcision. Så timeout er den MINIMUMS tid, driveren vil give SQL'en til at udføre, før den sender en annullering til serveren.


  1. Hvorfor vises der kun ét resultat fra min forespørgsel?

  2. Sikkerhedskopiering af database i MySQL ved hjælp af C#

  3. SQL Server Database Størrelse Vækst ved hjælp af Backup historie

  4. mysqli fetch() henter ikke