Oracle
 sql >> база данни >  >> RDS >> Oracle

Когато извикам PreparedStatement.cancel() в JDBC приложение, наистина ли го убива в база данни на Oracle?

Моля, имайте предвид, че това, което казвам по-долу, се основава на наблюдения и изводи на Oracle в употреба и не се основава на задълбочено разбиране на вътрешните елементи на Oracle. Нито едно от тях не трябва да се счита за авторитетно.

Това, което devetsided каза в първия си параграф, е вярно. Въпреки това, внимавайте с предложения тест. Не всички дългосрочни заявки за оракул са еднакви. Изглежда, че заявките се оценяват в две фази, първа фаза, която комбинира достатъчно данни, за да знае как да върне редовете в правилния ред, и втора фаза, която връща редовете, запълвайки пропуските, които не е изчислил в първа фаза. Разпределението на работата между двете фази също се влияе от настройките на оптимизатора, базиран на разходите. напр. Първи редове срещу всички редове.

Сега, ако заявката е във фаза 1, заявката за отмяна изглежда в най-добрия случай е поставена на опашка, за да бъде приложена в края на фаза 1, което означава, че заявката продължава да работи.

Във фаза 2 редовете се връщат на групи и след всяка група командата за отмяна може да влезе в сила, така че ако приемем, че драйверът поддържа командата, заявката за отмяна ще доведе до унищожаване на заявката.

Изглежда спецификацията за командата за отмяна на JDBC не казва какво трябва да се случи, ако заявката не спре да се изпълнява и следователно командата може да изчака потвърждението на убийството или може да изтече и да се върне, докато заявката все още работи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съпоставяне без значение на акцентите и малките букви в Oracle с LIKE

  2. Грешка:PLS-00428:Очаква се клауза into в този оператор за избор

  3. Как да стартирате съхранена процедура в oracle sql developer?

  4. Как да стартирате .sql файл в инструмента за разработчици на Oracle SQL за импортиране на база данни?

  5. Oracle CLOB не може да вмъкне повече от 4000 знака?