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

InnoDB समग्र अनुक्रमण क्रम और INSERT प्रदर्शन

(नोट:यह उत्तर पहले से लिखी गई कुछ टिप्पणियों को स्पष्ट या असहमत करता है।)

DELETEs इंडेक्स प्रविष्टियों को हटाने के कारण धीमा हो गया है। UPDATEs हो सकता है धीमा होना -- यह इस बात पर निर्भर करता है कि कोई अनुक्रमित कॉलम बदला गया है या नहीं।

SELECTs , UPDATEs , और DELETEs , लेकिन नहीं INSERTs , पंक्ति (ओं) को खोजने की जरूरत है; इसके लिए एक इंडेक्स बहुत मदद कर सकता है।

एक INSERT UNIQUE . होने पर अतिरिक्त राशि का नुकसान होता है जाँचने के लिए अनुक्रमणिका।

द्वितीयक कुंजियाँ (InnoDB में), छोड़कर UNIQUE . के लिए कुंजियाँ, अपडेट की जाती हैं (आमतौर पर INSERT . के कारण और DELETEs , लेकिन संभवत:UPDATEs . के कारण ) एक 'विलंबित' तरीके से जिसे "चेंज बफर" कहा जाता है। यह प्रभावी रूप से इंडेक्स को अपडेट करना बंद कर देता है, लेकिन फिर भी इंडेक्स को पूरी तरह से प्रयोग करने योग्य रखता है।

इनमें से कोई भी इंडेक्स में कॉलम के क्रम से प्रभावित नहीं होता है। हालाँकि, यदि कोई अनुक्रमणिका RAM में कैश की जा सकने वाली अनुक्रमणिका से बड़ी है, तो "कैशिंग" चलन में आती है, और I/O शामिल हो भी सकता है और नहीं भी। लेकिन यह एक और विषय है।

सामान्य तौर पर लाभ पढ़ने के लिए एक अनुक्रमणिका से बहुत अधिक लेखन कार्यों के लिए मंदी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका 1 में उदाहरणों की गणना करें और तालिका 2 से लिंक करें

  2. MySQL:एक श्रेणी में सभी तिथियों का चयन करें, भले ही कोई रिकॉर्ड मौजूद न हो

  3. MySQL ऑप्टिमाइज़िंग INSERT स्पीड इंडेक्स की वजह से धीमी हो रही है

  4. डीबीआई start_work संग्रहित प्रक्रिया कॉल के साथ काम नहीं करता

  5. एक बहुत बड़ी MySQL टेबल पर INSERT के प्रदर्शन में सुधार कैसे करें