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

सिद्धांत 2 - फ्लश दक्षता में सुधार कैसे करें?

आप इसे सही कर रहे हैं -- यह बहुत ही धीमा है, क्योंकि ORM के अतिरिक्त एब्स्ट्रैक्शन का अर्थ है कि आप उस प्रकार के अनुकूलन नहीं कर सकते जो आप चाहते हैं।

उस ने कहा, EntityManager उस बड़े लेनदेन पर धीमा हो जाता है। यदि आपको एक बड़े लेन-देन में उन सभी की बिल्कुल आवश्यकता नहीं है, तो संभवतः आप अपने लूप के प्रत्येक 20-200 पुनरावृत्तियों में फ्लश () आईएनजी और फिर ईएम को साफ़ () करके अधिक प्रदर्शन करने वाला कोड प्राप्त कर सकते हैं।

यदि इससे आपको पर्याप्त प्रदर्शन नहीं मिलता है, तो एकमात्र विकल्प जिसके बारे में मैं सोच सकता हूं, वह है कस्टम कोड पर वापस लौटना जो सीधे आपके DBMS के विरुद्ध कस्टम SQL चलाता है।

मुझे पता है कि यह एक अच्छा जवाब नहीं है, लेकिन कम से कम मैं आपको बता सकता हूं कि आप पागल नहीं हैं।

------ संपादित करें ------

आधिकारिक Doctrine2 लेख से बैच प्रोसेसिंग :

साथ ही दूरस्थ बनाम स्थानीय . का उपयोग करते समय प्रदर्शन में महत्वपूर्ण अंतर होता है प्रत्येक क्वेरी को दूरस्थ सर्वर पर भेजने के ओवरहेड के रूप में डेटाबेस काफी बड़ा है। लेन-देन और डीबी अनुकूलन के लिए स्थानीय डेटाबेस धन्यवाद का उपयोग करते समय ओवरहेड बहुत कम है। (उदाहरण के लिए प्रश्न में उदाहरण के मामले में 70 सेकंड को घटाकर 300ms कर दिया गया)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विजुअल स्टूडियो 2015 में डेटा स्रोत जोड़ने में 'आपके पास पहले से उपयोग करने योग्य कनेक्शन है' त्रुटि

  2. mysql अल्पविराम सीमांकित सूची कॉलम में अलग-अलग पंक्तियों का चयन करें

  3. MySQL क्वेरी बनाने में फंस गया

  4. जेसन के साथ एक ब्लॉब लौटा रहा है

  5. MySQL में Coalesce का उपयोग कैसे करें