PDO::rowCount vs. COUNT(*) Performance
डेटाबेस क्वेरी में पंक्तियों की गिनती करते समय, PDO:: का उपयोग करने के बीच विकल्प rowCount और COUNT(*) प्रदर्शन को महत्वपूर्ण रूप से प्रभावित कर सकते हैं।
PDO::rowCount
PDO::rowCount अंतिम SQL कथन से प्रभावित पंक्तियों की संख्या लौटाता है। हालाँकि, SELECT स्टेटमेंट के लिए, कुछ डेटाबेस लौटाई गई पंक्तियों की संख्या लौटा सकते हैं। इस व्यवहार की गारंटी नहीं है और इस पर भरोसा नहीं किया जाना चाहिए।
आंतरिक रूप से, PDO::rowCount पूरे परिणाम सेट को संसाधित करता है, प्रत्येक पंक्ति के लिए मेमोरी आवंटित करता है। यह एक मेमोरी-सघन ऑपरेशन हो सकता है, विशेष रूप से बड़े परिणाम सेट के लिए।
COUNT(*)
COUNT() एक में पंक्तियों की संख्या की गणना करता है वास्तविक पंक्तियों को पुनः प्राप्त किए बिना क्वेरी करें। MySQL हर पंक्ति को लाए बिना गिनती खोजने के लिए COUNT() को अनुकूलित करता है।
प्रदर्शन तुलना
प्रदर्शन कारणों से, COUNT() आम तौर पर तेज़ होती है पंक्तियों की गिनती के लिए PDO::rowCount से अधिक। ऐसा इसलिए है क्योंकि COUNT() MySQL के अनुकूलन का लाभ उठाता है और संपूर्ण परिणाम सेट को संसाधित करने के मेमोरी-गहन संचालन से बचता है।
Indexing
एक इंडेक्स का उपयोग करना आईडी कॉलम पर दोनों तरीकों के प्रदर्शन में काफी सुधार हो सकता है। एक इंडेक्स MySQL को संपूर्ण तालिका को स्कैन किए बिना आईडी मान से मेल खाने वाली पंक्तियों को तुरंत ढूंढने की अनुमति देता है।
सर्वोत्तम अभ्यास
आम तौर पर, COUNT( का उपयोग करने की अनुशंसा की जाती है *) प्रश्नों में पंक्तियों की गिनती के लिए PDO::rowCount के बजाय, खासकर जब परिणाम सेट बड़ा हो। इसके अतिरिक्त, आईडी कॉलम पर एक इंडेक्स का उपयोग करने से प्रदर्शन में और सुधार हो सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3