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

PostgreSQL धारावाहिक लेनदेन इसे संघर्ष के रूप में क्यों सोचता है?

आप इस समस्या को निम्न अनुक्रमणिका से ठीक कर सकते हैं:

CREATE INDEX accounts_user_idx ON accounts(user_id);

चूंकि आपकी उदाहरण तालिका में बहुत कम डेटा है, इसलिए आपको PostgreSQL को इंडेक्स स्कैन का उपयोग करने के लिए कहना होगा:

SET enable_seqscan=off;

अब आपका उदाहरण काम करेगा!

यदि यह काले जादू की तरह लगता है, तो अपने SELECT . की क्वेरी निष्पादन योजनाओं पर एक नज़र डालें और UPDATE बयान।

अनुक्रमणिका के बिना दोनों टेबल पर अनुक्रमिक स्कैन का उपयोग करेंगे, इस प्रकार तालिका में सभी पंक्तियों को पढ़ेंगे . तो दोनों लेन-देन एक SIReadLock के साथ समाप्त होंगे पूरी मेज पर।

यह क्रमांकन विफलता को ट्रिगर करता है।



  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 11 - प्रक्रियाएं

  2. JSON डेटाटाइप में रिकॉर्ड के नेस्टेड सरणी के साथ क्वेरी संयोजन

  3. Laravel 5 सिंगल रो लिमिट को अपडेट करने से काम नहीं चलता

  4. PostgreSQL त्रुटि:42P01:संबंध [तालिका] मौजूद नहीं है

  5. PostgreSQL:क्या कोई ऐसा फ़ंक्शन है जो बेस -10 इंट को बेस -36 स्ट्रिंग में बदल देगा?