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

धीमी MySQL प्रविष्टियां

यह क्षैतिज विभाजन और ब्लॉब फ़ील्ड को एक अलग तालिका में ले जाने का समय हो सकता है। इस लेख में 'ए क्विक साइड नोट ऑन वर्टिकल पार्टिशनिंग' में लेखक एक टेबल से एक बड़ा वर्चर फील्ड हटाता है और यह परिमाण के क्रम के बारे में एक क्वेरी की गति बढ़ाता है।

इसका कारण यह है कि डिस्क पर डेटा का भौतिक ट्रैवर्सल कवर करने के लिए कम जगह होने पर काफी तेज हो जाता है, इसलिए बड़े क्षेत्रों को कहीं और ले जाने से प्रदर्शन में वृद्धि होती है।

इसके अलावा (और आप शायद इसे पहले से ही करते हैं) यह आपके इंडेक्स कॉलम के आकार को उसके पूर्ण न्यूनतम (चार (32) में एएससीआई एन्कोडिंग में एमडी 5 के लिए कम करने के लिए फायदेमंद है), क्योंकि कुंजी का आकार इसके उपयोग की गति के सीधे आनुपातिक है ।

यदि आप InnoDB तालिकाओं के साथ एक समय में एकाधिक प्रविष्टियां करते हैं, तो आप उन्हें लेन-देन में लपेटकर और एक क्वेरी में एकाधिक प्रविष्टियां करके प्रविष्टियों की गति में उल्लेखनीय रूप से वृद्धि कर सकते हैं:

START TRANSACTION
INSERT INTO x (id, md5, field1, field2) values (1, '123dab...', 'data1','data2'),(2,'ab2...','data3','data4'),.....;
COMMIT


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रनटाइम पर गतिशील रूप से तालिका नाम चुनने का सबसे अच्छा तरीका क्या है?

  2. अल्पविराम से अलग किए गए मानों के साथ एकल MySQL फ़ील्ड

  3. एकाधिक चित्र अपलोड करें और उनके पथ को डेटाबेस में संग्रहीत करें

  4. MYSQL - IP v4/v6, inet_pton और bin2hex चुनें

  5. किसी वेबपृष्ठ पर HTML तालिका के अंदर MySQL डेटाबेस तालिका से मान दिखाएं