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

चयन और अद्यतन के बीच दौड़ की स्थिति

मैं मान रहा हूँ कि आपका UPDATE कथन स्वयं lastmodified . की पुष्टि कर रहा है मान जो आपने अपने SELECT . में पढ़ा है बयान के रूप में नौतरफा पता चलता है।

अगर lastmodified एक DATE है , तो एक संभावित दौड़ की स्थिति है यदि DATE के बाद से एक ही सेकंड में एक ही पंक्ति में कई अपडेट हैं केवल दूसरे के लिए ग्रैन्युलैरिटी है। अगर lastmodified एक TIMESTAMP है , दूसरी ओर, जिस विंडो में दौड़ की स्थिति हो सकती है वह TIMESTAMP के बाद से बहुत अधिक सीमित है उप-सेकेंड परिशुद्धता के 3 और 9 अंकों के बीच होगा (अधिकांश विंडोज़ मशीनों पर 3, अधिकांश यूनिक्स मशीनों पर 6)। यह असंभव नहीं है, हालांकि असंभव नहीं है कि आपके पास एक ही मिलीसेकंड या यहां तक ​​​​कि एक ही माइक्रोसेकंड पर दो अपडेट होंगे। लेकिन यह अचूक नहीं है।

आप अंतिम संशोधित दिनांक के बजाय अनुक्रम-जनरेटेड मान का उपयोग कर सकते हैं। यह गारंटी दे सकता है कि आप एक अपडेट नहीं खोएंगे क्योंकि NOCYCLE अनुक्रम एक ही मान को दो बार वापस नहीं करेगा। लेकिन अगर आप उस रास्ते से नीचे जाते हैं, तो आप या तो प्रत्येक पंक्ति पर अंतिम अद्यतन तिथि होने का सूचना लाभ खो रहे हैं या आप तालिका की प्रत्येक पंक्ति में डेटा के कुछ अतिरिक्त बाइट्स संग्रहीत कर रहे हैं। आपके आवेदन के आधार पर इनमें से कोई भी ट्रेड-ऑफ इसके लायक हो सकता है या या तो इससे अधिक समस्याएं पैदा कर सकता है।



  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. Oracle डेटाबेस को Visual Studio C# प्रोजेक्ट से कैसे कनेक्ट करें

  3. संग्रह विधि:Oracle डेटाबेस में मौजूद कार्य

  4. php:oracle ड्राइवर लोड हो रहा है त्रुटि देता है गतिशील पुस्तकालय लोड करने में असमर्थ - निर्दिष्ट प्रक्रिया नहीं मिल सका।

  5. ग्रुप बाय कैसे काम करता है?