लगातार कनेक्शन MySQL के लिए अनावश्यक होना चाहिए। अन्य डेटाबेस (जैसे ओरेकल) में, कनेक्शन बनाना महंगा और समय लेने वाला होता है, इसलिए यदि आप कनेक्शन का दोबारा उपयोग कर सकते हैं तो यह एक बड़ी जीत है। लेकिन डेटाबेस के उन ब्रांड कनेक्शन पूलिंग की पेशकश करते हैं, जो समस्या को बेहतर तरीके से हल करता है।
एक MySQL डेटाबेस से कनेक्शन बनाना उन अन्य ब्रांडों की तुलना में तेज़ी से है, इसलिए लगातार कनेक्शन का उपयोग करके MySQL के लिए आनुपातिक रूप से कम लाभ मिलता है, यह डेटाबेस के किसी अन्य ब्रांड के लिए होता है।
लगातार कनेक्शन में भी कमी आई है। डेटाबेस सर्वर प्रत्येक कनेक्शन के लिए संसाधन आवंटित करता है, चाहे कनेक्शन की आवश्यकता हो या नहीं। यदि कनेक्शन निष्क्रिय हैं तो आप किसी भी उद्देश्य के लिए बहुत बर्बाद संसाधन देखते हैं। मुझे नहीं पता कि आप 10,000 निष्क्रिय कनेक्शन तक पहुंचेंगे, लेकिन यहां तक कि कुछ सौ महंगा है।
कनेक्शनों में राज्य है, और किसी PHP अनुरोध के लिए पहले किसी अन्य PHP अनुरोध द्वारा उपयोग किए जाने वाले सत्र से "उत्तराधिकारी" जानकारी के लिए अनुचित होगा। उदाहरण के लिए, कनेक्शन बंद होने के कारण अस्थायी तालिकाओं और उपयोगकर्ता चर को सामान्य रूप से साफ़ किया जाता है, लेकिन यदि आप निरंतर कनेक्शन का उपयोग नहीं करते हैं। इसी प्रकार सत्र-आधारित सेटिंग्स जैसे चरित्र सेट और संयोजन। इसके अलावा, LAST_INSERT_ID()
सत्र के दौरान उत्पन्न अंतिम आईडी की रिपोर्ट करेगा - भले ही वह पहले PHP अनुरोध के दौरान था।
कम से कम MySQL के लिए, लगातार कनेक्शन का नकारात्मक हिस्सा शायद उनके लाभ से अधिक है। और उच्च स्केलेबिलिटी प्राप्त करने के लिए अन्य, बेहतर तकनीकें हैं।
अद्यतन मार्च 2014:
MySQL कनेक्शन की गति हमेशा कम RDBMS के अन्य ब्रांडों की तुलना में था, लेकिन यह और भी बेहतर हो रही है।
हम कोड जोड़ता है और डिस्कनेक्ट से निपटने के अनुकूलन पर काम करना शुरू किया http://mysqlserverteam.com/improving-connectdisconnect-performance/
देखें MySQL 5.6 में। और यह काम MySQL 5.7 में तेज हो गया है। इस ब्लॉग पोस्ट में मैं सबसे पहले हमारे द्वारा प्राप्त किए गए परिणामों को दिखाऊंगा और फिर वर्णन करूँगा कि हमने उन्हें प्राप्त करने के लिए क्या किया है।
अधिक जानकारी और गति तुलना के लिए ब्लॉग पढ़ें।
से जब मैं इस जबाब लिखा PHP के नवीनतम संस्करण में, मैं वहाँ अब पूल आकार एडजस्ट करने के लिए सेटिंग्स हैं कि पता चला है। विशेष रूप से, 5.4.0 में 'mysqli.max_persistent' विकल्प है जो PHP के उस उदाहरण में कनेक्शन पूल का अधिकतम आकार है। समय-समय पर कनेक्शन के लिए PHP में कोई मान नहीं है। – staticsan