sql - Oracle Update on View extremly slow -


मेरे पास यह साधारण अपडेट विवरण है:

  UPDATE v_my_view mv SET mv.name = ( चुनें RTRIM (नाम) से v_another_view av WHERE av.KEY_ID = mv.KEY_ID) जहां mv.VALID = 1;   

यह स्टेटमेंट बहुत लंबा (20 सेकंड) लेता है, जबकि दूसरे, एक ही दृश्य पर अधिक जटिल अपडेट 1 सेकंड से कम लेते हैं। पहले मैंने सोचा था कि यह आरटीआरआईएम समारोह है, लेकिन ऐसा नहीं है, अगर मैं इसका इस्तेमाल नहीं करता, तो इसकी धीमी गति से पहले।

दोनों दृश्यों पर चयन रिकॉर्डों को बहुत तेजी से वापस लौटाते हैं

इस दृश्य पर कोई ट्रिगर नहीं है, लेकिन पीछे एक मेज पर है।

कोई भी सुझाव है?

संपादित करें: जोड़ी गई WHERE खंड को जोड़ा गया है, लेकिन यह बाधा नहीं हो सकता, क्योंकि जब भी मैं सभी ट्रिगर कोड को बाहर करता हूं, तब भी इसका एक ही धीमा प्रदर्शन होता है।

संपादित करें: दृश्य (या पीछे तालिका) में केवल 8000 रिकॉर्ड प्रत्येक होते हैं, कोई विशेष डेटा प्रकार नहीं।

आप पूरे दृश्य को किसी भी WHERE क्लॉज के बिना अपडेट कर रहे हैं।

यदि आपके पास बड़ी मात्रा में डेटा या इंडेक्सेस भी हैं, तो यह आपके ऑपरेशन को धीमा कर सकता है।

Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

php - How can I cram 6+31 numeric characters into 22 alphanumeric characters? -

mysql - where clause in inner join query -