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

MySQL में समग्र प्राथमिक कुंजी प्रदर्शन दोष

INSERT और UPDATE प्रदर्शन थोड़ा भिन्न होता है:यह (INT) . के लिए लगभग समान होगा और (INT, INT) कुंजियाँ।

SELECT समग्र PRIMARY KEY . का प्रदर्शन कई कारकों पर निर्भर करता है।

अगर आपकी टेबल InnoDB है , तो तालिका परोक्ष रूप से PRIMARY KEY . पर क्लस्टर की जाती है मूल्य।

इसका मतलब है कि दोनों मानों की खोज तेज होगी यदि दोनों मानों में कुंजी शामिल है:कोई अतिरिक्त कुंजी लुकअप की आवश्यकता नहीं होगी।

मान लें कि आपकी क्वेरी कुछ इस तरह है:

SELECT  *
FROM    mytable
WHERE   col1 = @value1
        AND col2 = @value2

और टेबल लेआउट यह है:

CREATE TABLE mytable (
        col1 INT NOT NULL,
        col2 INT NOT NULL,
        data VARCHAR(200) NOT NULL,
        PRIMARY KEY pk_mytable (col1, col2)
) ENGINE=InnoDB

, इंजन को केवल तालिका में ही सटीक कुंजी मान देखने की आवश्यकता होगी।

यदि आप एक नकली आईडी के रूप में ऑटोइनक्रिकमेंट फ़ील्ड का उपयोग करते हैं:

CREATE TABLE mytable (
        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        col1 INT NOT NULL,
        col2 INT NOT NULL,
        data VARCHAR(200) NOT NULL,
        UNIQUE KEY ix_mytable_col1_col2 (col1, col2)
) ENGINE=InnoDB

, तो इंजन को सबसे पहले (col1, col2) के मानों को देखने की आवश्यकता होगी अनुक्रमणिका में ix_mytable_col1_col2 , अनुक्रमणिका से पंक्ति सूचक को पुनः प्राप्त करें (id . का मान ) और id . द्वारा एक और लुकअप करें तालिका में ही।

MyISAM . के लिए टेबल, हालांकि, इससे कोई फर्क नहीं पड़ता, क्योंकि MyISAM टेबल ढेर व्यवस्थित हैं और पंक्ति सूचक केवल फ़ाइल ऑफ़सेट है।

दोनों ही मामलों में, एक ही इंडेक्स बनाया जाएगा (PRIMARY KEY . के लिए) या UNIQUE KEY . के लिए ) और उसी तरह इस्तेमाल किया जाएगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन, MySQL त्रुटि से बचने के लिए 4-बाइट चार कन्वर्ट करें गलत स्ट्रिंग मान:

  2. mysql दोहराए जाने वाले कॉलम की पहली पंक्ति के अलावा सभी के लिए रिक्त स्थान लौटने का चयन करें

  3. डेटाबेस में फ़ाइलों को ब्लॉब के रूप में सहेजना AJAX php pdo

  4. C++ में MySQL से utf-8 डेटा प्रोसेस करें और परिणाम वापस दें

  5. प्राथमिक सूचकांक बनाम माध्यमिक सूचकांक:प्रदर्शन अंतर