Вижте как работи времето за изчакване на заявката в драйвера на Oracle JDBC тук:https://forums. oracle.com/forums/thread.jspa?threadID=550257
Накратко:
- Необходим е пълен обход до базата данни, за да се отмени изпълнението на SQL, когато времето за изчакване изтече. Базата данни ще се заеме с обработката на заявката за отмяна, когато прецени.
- Механизмът за изчакване на драйвера не е механизъм с висока точност. Тъй като действителното отменяне на изпълнението изисква разговор с базата данни по мрежата, няма смисъл драйверът да бъде супер прецизен. Дори ако драйверът беше прецизен, мрежовите закъснения и времето, необходимо на базата данни да отговори на заявката за отмяна, биха отменили точността на драйвера. Така че времето за изчакване е МИНИМАЛНОТО време, което драйверът ще даде на SQL да изпълни, преди да изпрати отказ до сървъра.