Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल सीक्वेंस नेक्स्टवल नंबर आगे पीछे कूद रहा है

मैं शर्त लगाऊंगा कि आपका डेटाबेस RAC (रियल एप्लिकेशन क्लस्टर) चला रहा है। यह मानते हुए कि यह मामला है और आप सभी डिफ़ॉल्ट सेटिंग्स के साथ अनुक्रम बनाते हैं, यही अपेक्षित व्यवहार है।

डिफ़ॉल्ट सेटिंग 20 मानों को कैश करना है। आरएसी क्लस्टर में प्रत्येक नोड, डिफ़ॉल्ट रूप से, एक अलग कैश होगा। यह मानते हुए कि आपके पास दो नोड्स A और B वाला क्लस्टर है, पहली बार nextval A पर अनुरोध किया गया है, A 1-20 के मानों को कैश करेगा और 1 का मान लौटाएगा। यदि nextval के लिए अगला अनुरोध बी पर बना है, बी 21-40 के मूल्यों को कैश करेगा और 21 का मान लौटाएगा। वहां से, आपको जो मूल्य मिलेगा वह उस नोड पर निर्भर करेगा जिस पर आपका कनेक्शन चल रहा है।

सामान्य तौर पर, यह कोई समस्या नहीं होनी चाहिए। अनुक्रम अद्वितीय संख्याएँ उत्पन्न करते हैं। संख्याएं आम तौर पर लगातार नहीं होनी चाहिए। यदि आपको वास्तव में मूल्यों को क्रमिक रूप से वापस करने की आवश्यकता है क्योंकि आप "पहली" या "अंतिम" पंक्ति निर्धारित करने के लिए अनुक्रम-जनित मान द्वारा आदेश देने जैसा कुछ कर रहे हैं, तो आप ORDER का उपयोग कर सकते हैं क्लॉज जब आप मूल्यों को क्रम में वापस करने के लिए बाध्य करने के लिए अनुक्रम बनाते हैं। हालांकि, आरएसी डेटाबेस में इसका नकारात्मक प्रदर्शन निहितार्थ है, क्योंकि यह संचार की मात्रा को बढ़ाता है जिसे वापस किए जा रहे मूल्यों को सिंक्रनाइज़ करने के लिए नोड्स के बीच जाने की आवश्यकता होती है। यदि आपको "पहली" या "अंतिम" पंक्ति निर्धारित करने की आवश्यकता है, तो आमतौर पर date जोड़ना बेहतर होता है या एक timestamp तालिका में कॉलम और उसके द्वारा क्रम से यह मानने के बजाय कि प्राथमिक कुंजी क्रमिक रूप से उत्पन्न होती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं आर में ओरेकल डाटाबेस से कैसे जुड़ सकता हूं?

  2. Oracle SQL में एक प्रतिस्थापन () फ़ंक्शन के आउटपुट से अल्पविराम सीमांकित स्ट्रिंग के साथ IN क्लॉज का उपयोग करना

  3. तालिका पंक्ति मौजूद है या नहीं, इसका परीक्षण करने का एक प्रभावी तरीका

  4. पीएल एसक्यूएल में बड़े टेक्स्ट/सीएसवी फाइल को कई फाइलों में विभाजित करें

  5. निष्क्रियता के समय के बाद कनेक्शन हैंग हो जाता है