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

InnoDB पंक्ति स्तर लॉकिंग प्रदर्शन - कितनी पंक्तियाँ?

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

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

संपादित करें:मूल पोस्ट में आपका संपादन मदद करता है, लेकिन वास्तव में बहुत कुछ नहीं। सबसे पहले, पंक्तियों के आकार और शामिल हार्डवेयर के स्तरों का बहुत बड़ा प्रभाव पड़ता है (एक दर्जन धारीदार 15K SAS हार्ड ड्राइव पर 8-बाइट पंक्ति सम्मिलित करना एक एकल उपभोक्ता वर्ग हार्ड ड्राइव पर एक मेगाबाइट पंक्ति सम्मिलित करने की तुलना में बस एक छोटा सा तेज़ है। )।

दूसरा, यह काफी हद तक एक साथ उपयोगकर्ताओं की संख्या के बारे में है, इसलिए सम्मिलन के पैटर्न से बहुत फर्क पड़ता है। सुबह 3 बजे डाली गई 1000 पंक्तियों पर शायद ध्यान ही नहीं दिया जाएगा। पूरे दिन में समान रूप से डाली गई 1000 पंक्तियों का अर्थ है थोड़ा अधिक (लेकिन शायद केवल थोड़ा सा)। 1000 पंक्तियाँ एक बैच के रूप में डाली जाती हैं, जब 100 अन्य उपयोगकर्ताओं को डेटा की आवश्यकता होती है, तो किसी को तुरंत निकाल दिया जा सकता है (विशेषकर यदि उन 100 में से एक कंपनी का मालिक है)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कॉलम के नाम से MySqlDataReader में NULL की जांच कैसे करें?

  2. MySQL में हेक्स मान सम्मिलित करना

  3. गो-एसक्यूएल-ड्राइवर के साथ एक नया MySQL डेटाबेस कैसे बनाएं

  4. MySQL बाइनरी बनाम चार कैरेक्टर सेट बाइनरी

  5. क्या मैं ALTER तालिका को पूर्ववत कर सकता हूँ - MySQL?