कर्सर शेयरिंग प्रतिस्पर्धा पर एक बड़ा फायदा है (या था)। असल में, क्वेरी क्वेरी के लिए एक ही क्वेरी योजना का उपयोग किया जाता है। एक आवेदन में जारी किए गए प्रश्नों का एक मानक सेट होगा (उदाहरण के लिए इस ग्राहक आईडी के लिए ऑर्डर प्राप्त करें)। सरल तरीका प्रत्येक क्वेरी को व्यक्तिगत रूप से इलाज करना है, इसलिए यदि आप 'चयन * से ऑर्डर करते हैं तो CUSTOMER_ID =: b1' देखते हैं, तो आप देखते हैं कि तालिका ऑर्डर के पास CUSTOMER_ID आदि पर एक अनुक्रमणिका है या नहीं। परिणामस्वरूप, आप जितना अधिक काम देख सकते हैं वास्तव में डेटा पुनर्प्राप्त करने के रूप में एक क्वेरी योजना प्राप्त करने के लिए मेटा डेटा। सरल कुंजी वाले लुकअप के साथ, एक क्वेरी प्लान आसान है। Skewed कॉलम पर शामिल कई तालिकाओं के साथ जटिल प्रश्न कठिन हैं।
ओरेकल में क्वेरी योजनाओं का कैश है, और पुराने/कम उपयोग की जाने वाली योजनाएं पुरानी हैं क्योंकि नए लोगों की आवश्यकता है।
यदि आप क्वेरी योजनाओं को कैश नहीं करते हैं, तो इस बात की एक सीमा है कि आप अपने अनुकूलक को कितना स्मार्ट बना सकते हैं जितना अधिक आप स्मारक में कोड करते हैं, आपके द्वारा संसाधित प्रत्येक क्वेरी पर आपके प्रभाव पर बड़ा प्रभाव पड़ता है। कैशिंग प्रश्नों का अर्थ है कि आप पहली बार पूछताछ करते हैं कि पहली बार जब आप क्वेरी देखते हैं।
'नकारात्मक' यह है कि कर्सर साझा करने के लिए प्रभावी होने के लिए आपको बाध्य चर का उपयोग करने की आवश्यकता है। कुछ प्रोग्रामर इसका एहसास नहीं करते हैं और कोड लिखते हैं जो साझा नहीं होते हैं और फिर शिकायत करते हैं कि ओरेकल MySQL जितना तेज़ नहीं है।
ओरेकल का एक अन्य लाभ यूएनडीओ लॉग है। एक बदलाव के रूप में, डेटा का 'पुराना संस्करण' पूर्ववत लॉग में लिखा जाता है। अन्य डेटाबेस रिकॉर्ड के समान स्थान पर रिकॉर्ड के पुराने संस्करण रखता है। इसके लिए वैक्यूम स्टाइल क्लीनअप ऑपरेशंस की आवश्यकता है या आप अंतरिक्ष और संगठन के मुद्दों में टक्कर लेते हैं। यह उच्च अद्यतन या हटाए गए गतिविधि वाले डेटाबेस में सबसे प्रासंगिक है।
इसके अलावा ओरेकल में केंद्रीय लॉक रजिस्ट्री नहीं है। प्रत्येक व्यक्तिगत डेटा रिकॉर्ड पर लॉक बिट संग्रहीत किया जाता है। चयन लॉक नहीं लेता है। डेटाबेस में जहां चयन ताले होते हैं, आप कई उपयोगकर्ताओं को डेटा पढ़ सकते हैं और एक-दूसरे को लॉक कर सकते हैं या अपडेट को रोक सकते हैं, स्केलेबिलिटी सीमाएं पेश कर सकते हैं। अन्य डेटाबेस एक रिकॉर्ड लॉक करेंगे जब यह सुनिश्चित करने के लिए एक चयन किया गया था कि कोई भी डेटा आइटम उस आइटम को बदल नहीं सकता है (इसलिए यह तब भी सुसंगत होगा जब एक ही क्वेरी या लेन-देन तालिका को फिर से देखा जाए)।ओरेकल अपने पढ़ने के स्थिरता मॉडल के लिए यूएनडीओ का उपयोग करता है (यानी समय को एक विशिष्ट बिंदु पर दिखाई देने वाले डेटा को देखकर)।
स्रोत
2010-01-25 11:53:17