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

अंतराल से बचने के लिए अनुक्रम के बजाय मुझे क्या उपयोग करना चाहिए?

अनुक्रमों का मुख्य उद्देश्य गारंटीकृत . का स्रोत प्रदान करना है अद्वितीय पहचानकर्ता। ये तकनीकी कुंजी हैं और आम तौर पर उनका वास्तविक मूल्य बोलना अप्रासंगिक होना चाहिए। मेरा मतलब है - क्या आपको उपयोगकर्ता को फ़ोल्डर संख्या दिखाने की भी आवश्यकता है?

यदि आप परेशान हैं तो NOCACHE का उपयोग करें। यह आपके द्वारा देखे जा रहे अंतराल को कम कर देगा, और जब तक आप बहुत बार फ़ोल्डर नहीं बनाते हैं, तब तक आप मुट्ठी भर संख्याओं को कैशिंग न करने से प्रदर्शन हिट को नोटिस नहीं करेंगे। यदि कोई लेन-देन वापस ले लिया जाता है या किसी अन्य कारण से विफल हो जाता है, तो भी आपको अंतराल मिल सकता है, लेकिन वे कम ही होने चाहिए; यदि वे नहीं हैं तो आपके पास अपने फ़ोल्डरों की संख्या से अधिक चिंता करने के लिए बड़ी चीजें हैं!

नीरस रूप से वृद्धिशील श्रृंखला उत्पन्न करने के अन्य तरीके या तो लागू करने के लिए बोझिल हैं (कोड नियंत्रण तालिकाओं पर ट्रिगर) या अद्वितीय होने की गारंटी नहीं है (max(id)+1 का उपयोग करके) एक ट्रिगर में)। यदि आप एक कोड नियंत्रण तालिका का उपयोग करना चाहते हैं - वह एक तालिका है जो विशेष रूप से अंतिम निर्दिष्ट फ़ोल्डर आईडी को ट्रैक करती है - आपको एक नज़र रखनी चाहिए पिछले उत्तर में मैंने लिखा था जो कैसे करना चाहिए एक को लागू करने के लिए। कोड नियंत्रण तालिका का एक लाभ यह है कि हम एक समूह के साथ गणना बनाए रख सकते हैं। तो आपके पास प्रत्येक उपयोगकर्ता के लिए फ़ोल्डर आईडी का एक रन हो सकता है, और उन्हें स्वतंत्र रूप से बढ़ा सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle को ऐसी पंक्तियाँ मिलती हैं जो मानों की सूची से बिल्कुल मेल खाती हैं

  2. नेटसुइट ने दो अन्य स्तंभों के परिणामों को गुणा करने के लिए खोज सूत्र सहेजा है

  3. दो रिकॉर्ड की तुलना करें और केवल अंतर दिखाएं

  4. Oracle के अनुक्रम प्रारंभ मान को स्वचालित रूप से सेट करना

  5. Oracle 10g - ऑप्टिमाइज़ करें जहाँ NULL नहीं है