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

क्या मुझे लेनदेन में चयन शामिल करना चाहिए?

संक्षिप्त संस्करण:"यह निर्भर करता है"।

लंबा संस्करण:

यदि आप एक पठन-संशोधित-लेखन चक्र कर रहे हैं, तो यह न केवल लेन-देन में होना चाहिए, बल्कि आपको SELECT ... FOR UPDATE होना चाहिए कोई भी रिकॉर्ड जिसे आप बाद में संशोधित करना चाहते हैं। अन्यथा आप खोए हुए लेखन का जोखिम उठाने जा रहे हैं, जहां आप किसी अन्य व्यक्ति द्वारा किए गए अपडेट को ओवरराइट करते हैं जब आप रिकॉर्ड पढ़ते हैं और जब आप अपडेट लिखते हैं।

SERIALIZABLE लेन-देन अलगाव भी इसमें मदद कर सकता है।

आपको वास्तव में समवर्ती और अलगाव को समझने की जरूरत है। दुर्भाग्य से एकमात्र सरल, आसान "बस करें एक्स" उत्तर को समझे बिना यह है कि इसमें शामिल सभी तालिकाओं को लॉक करके प्रत्येक लेनदेन शुरू करना है। अधिकांश लोग ऐसा नहीं करना चाहते।

मैं tx आइसोलेशन डॉक्स . समवर्ती psql के साथ प्रयोग करें दौड़ की स्थिति और संघर्ष पैदा करने के लिए सत्र (एकाधिक टर्मिनल)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL UUID प्रकार का प्रदर्शन

  2. अद्यतन .. SqlAlchemy और PostgreSQL के साथ सीमा 1

  3. PostgreSQL गिनती अनुमानों के साथ Django के व्यवस्थापक पृष्ठों को कैसे तेज करें?

  4. PostgreSQL के लिए प्रतिकृति टोपोलॉजी परिवर्तन करना

  5. Django और नए सर्वर पर PostgreSQL कनेक्शन का समय समाप्त ऑपरेशनल त्रुटि