2010-08-09 15 views
5

मान लीजिए मैं एक मेज और यहआरडीबीएमएस द्वारा संचालित एक तालिका अद्यतन कैसे किया जाता है?

original simple table A 
------------------------ 
rowid | id name 
123 | 1 A 
124 | 4 G 
125 | 2 R 
126 | 3 P 

index on A.id 
------------- 
id rowid 
1 123 
2 125 
3 126 
4 124 

पर एक सूचकांक इस बिंदु पर है, मैं इस DML कथन

UPDATE A SET id = 5 WHERE id = 4 

वास्तव में होता क्या है जब इस बयान निष्पादित किया जाता है निष्पादित?

एक)

BEGIN 
go to index 
search for `id == 4` (B tree index generally) 
find that `rowid = 124` 
go to that location 
update id in the table 
come back (? I am not sure) 
update the index 
END 

ख)

BEGIN 
go to index 
search for `id == 4` (B tree index generally) 
update the id value in index 
find that `rowid = 124` 
go to that location 
update id in the table 
END 

ग) कुछ और पूरी तरह से

होता है इस डेटाबेस में ही, यह कैसे Oracle में होता है पर निर्भर हो सकता है के रूप में?

+1

मुझे लगता है कि कार्यान्वयन अलग-अलग होते हैं और उनमें से कई डिफ़ॉल्ट रूप से स्लॉट किए जाने के बजाय डिफ़ॉल्ट रूप से सी) या बी) ... – meagar

+0

क्या यह होमवर्क है? –

+0

@ हेनक: नहीं। मैं बस यह समझने की कोशिश कर रहा हूं कि यह कैसे काम करता है। यह एक परिदृश्य है जिसे मैंने बनाया है। – Moeb

उत्तर

1

से: http://jonathanlewis.wordpress.com/2006/11/22/tuning-updates/

"यदि ओरेकल पर डेटा को अपडेट करने के लिए एक (बी-पेड़) इंडेक्स का उपयोग करता है, तो यह पोस्टपोन किसी भी (बी-पेड़) इंडेक्स अपडेट अद्यतन के अंत तक आवश्यक है, फिर इंडेक्स कुंजी (उनके साथ) rowids) से पहले और आप एक विस्तृत ट्रेस किया था, तो अनुक्रमणिका "

को बहु-अपडेट लागू करने से पहले मूल्यों के बाद के लिए, प्रतीक्षा घटनाओं आईओ के लिए फ़ाइल/ब्लॉक विवरण दिखाते हैं। वहां से ऑब्जेक्ट (DBA_EXTENTS का उपयोग करके) निर्धारित करना संभव है और इसलिए जिस क्रम में चीजें एक्सेस की जाती हैं।

उसने कहा, यह बहुत अकादमिक है और आपको इस बात को प्रभावित नहीं करना चाहिए कि आप चीजों को कैसे कोड करते हैं।

0

कार्य योजना लागू करके अपने विशेष अद्यतन बयान के लिए देखने के लिए: अपने सत्र के लिए अनुरेखण पर अपने PL/SQL

  • रन tkprof ट्रेस फ़ाइल पर

    1. बारी
    2. भागो
  • संबंधित मुद्दे