कृपया ध्यान दें कि जो मैं नीचे कह रहा हूं वह उपयोग में ओरेकल के अवलोकन और अनुमानों पर आधारित है, और ओरेकल के आंतरिक की किसी भी गहरी समझ पर आधारित नहीं है। इसमें से किसी को भी आधिकारिक नहीं माना जाना चाहिए।
अपने पहले पैराग्राफ में नौतरफा ने जो कहा वह सही है। हालाँकि, सुझाए गए परीक्षण से सावधान रहें। सभी लंबे समय तक चलने वाले ऑरैकल प्रश्न समान नहीं हैं। ऐसा लगता है कि प्रश्नों का मूल्यांकन दो चरणों में किया जाता है, पहला चरण जो यह जानने के लिए पर्याप्त डेटा को जोड़ता है कि पंक्तियों को सही क्रम में कैसे लौटाया जाए, और दूसरा चरण जो रिक्त स्थान को भरने वाली पंक्तियों को लौटाता है, जिसकी गणना नहीं की गई थी। प्रथम चरण। दो चरणों के बीच कार्य का विभाजन भी लागत-आधारित अनुकूलक की सेटिंग्स से प्रभावित होता है। जैसे पहली-पंक्तियाँ बनाम सभी-पंक्तियाँ।
अब, यदि क्वेरी चरण 1 में है, तो रद्द करने का अनुरोध चरण 1 के अंत में लागू होने के लिए कतारबद्ध होना सबसे अच्छा लगता है, जिसका अर्थ है कि क्वेरी का संचालन जारी है।
चरण 2 में, पंक्तियों को बंच में लौटाया जाता है, और प्रत्येक गुच्छा के बाद, रद्द करें आदेश प्रभावी हो सकता है, इसलिए यह मानते हुए कि ड्राइवर कमांड का समर्थन करता है, रद्द करने के अनुरोध के परिणामस्वरूप क्वेरी समाप्त हो जाएगी।
JDBC कैंसिल कमांड के विनिर्देश यह नहीं कहते हैं कि क्या होना चाहिए यदि क्वेरी चलना बंद नहीं होती है, और इसलिए कमांड किल की पुष्टि के लिए प्रतीक्षा कर सकता है, या टाइमआउट हो सकता है और क्वेरी अभी भी चल रही है।