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

क्या मुझे PHP प्रदर्शन-वार में MySQL के लिए तैयार कथनों का उपयोग करना चाहिए?

इतिहास

यह मेरा पहला स्टैक ओवरफ्लो उत्तर था। तब से बहुत कुछ बदल गया है, विशेष रूप से MySQL API का बहिष्करण और निष्कासन। यदि आप अभी भी php 5.6 पर हैं, तो भी mysql_* api का उपयोग नहीं किया जाना चाहिए। अब PDO या mysqli ही चुनने के लिए एकमात्र विकल्प हैं। पीडीओ कई कारणों से बेहतर है।

क्या तैयार किए गए स्टेटमेंट पूरे पेज लोड में कैश किए जाते हैं?

पेज लोड के बीच में एक ही तैयार स्टेटमेंट का उपयोग नहीं किया जाएगा। इसे हर हाल में तैयार करना होता है। यदि हर बड़े मिलीसेकंड को निचोड़ना मायने रखता है, तो एक संग्रहीत कार्यविधि एक अच्छा विचार हो सकता है (यह मानते हुए कि आपके पास एक जटिल क्वेरी है)।

बड़े इंसर्ट (हजारों पंक्तियों) के लिए आपके डेटा को टेक्स्ट फ़ाइल में डंप करके और फ़ाइल में लोड डेटा के साथ लोड करके शायद एक बड़ा बढ़ावा प्राप्त किया जा सकता है। यह सम्मिलित करने की श्रृंखला की तुलना में बहुत तेज़ है।

मूल उत्तर

इस मामले की सच्चाई यह है कि कभी mysqli तेज होता है और कभी mysql api तेज होता है। लेकिन अंतर वास्तव में बहुत छोटा है। यदि आप वेब पर किसी भी प्रदर्शन परीक्षण को देखते हैं तो अंतर वास्तव में केवल 10 - 20 मिलीसेकंड है। प्रदर्शन को बढ़ावा देने का सबसे अच्छा तरीका टेबल डिज़ाइन को अनुकूलित करना है।

कई परीक्षण जो पुराने एपीआई को तेजी से 'साबित' करते हैं, आसानी से भूल जाते हैं कि अधिकतम सुरक्षा के लिए mysql_real_escape_string() को क्वेरी में उपयोग किए जाने वाले प्रत्येक चर के लिए कॉल किया जाना चाहिए।

सर्वर द्वारा क्वेरी को कैश किया जाता है, यदि और केवल तभी जब क्वेरी में उपयोग की जाने वाली सभी तालिकाओं का डेटा अपरिवर्तित रहता है।

वास्तविक संख्याओं के साथ एक और अपडेट की प्रतीक्षा करें



  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 PostgreSQL के dblink मॉड्यूल के बराबर है?

  2. क्या एमएस-एक्सेस में कोई group_concat फ़ंक्शन है?

  3. django . में टाइमस्टैम्प फ़ील्ड

  4. MySQL डेटाबेस बैकअप स्वचालित रूप से एक विंडोज़ सर्वर पर

  5. MySQL में टेबल को अनपिवोट कैसे करें