2012-03-24 14 views
6

मैं जानना चाहता हूं कि बैंडविड्थ और समग्र दक्षता के मामले में कौन सा विकल्प सबसे महंगा है।एक बड़ी क्वेरी बनाम कई छोटे?

मान लें कि मेरे पास मेरे डेटाबेस में Client है और मेरे डेटाबेस में एक तालिका client है।

क्या यह एक स्थिर फ़ंक्शन Client.getById है जो पूरे क्लाइंट रिकॉर्ड या कई (Client.getNameById, Client.getMobileNumberById इत्यादि) को पुनर्प्राप्त करता है जो अलग-अलग फ़ील्ड पुनर्प्राप्त करते हैं?

एक भी रिकॉर्ड क्षेत्रों में से एक बहुत है और मैं वर्तमान स्क्रिप्ट में एक या दो का उपयोग कर खत्म, यह अभी भी सब कुछ निकालते हैं और क्या सभी डेटा के साथ क्या करना अनुप्रयोग के भीतर फैसला करने के लिए बेहतर है?

मैं PHP और MySQL का उपयोग कर रहा हूं।

+0

यह निर्भर करता है ... आप जो कुछ भी करते हैं उसका मतलब है सबकुछ सही है? आपकी बैंडविड्थ क्या है? आपके पास कितने उपयोगकर्ता हैं? क्या यह सब एक ही सर्वर-रूम में है? नीचे फाइबर ऑप्टिक्स? मोबाइल इंटरनेट पर? आपकी विलंबता क्या है? आपके उपयोगकर्ता कहां हैं आपके सर्वर कहां हैं? वे कितने शक्तिशाली हैं? वे कैसे व्यवस्थित हैं? कितने बाइट्स "बहुत" हैं? ... – Ben

+0

@Ben क्या आपके पास अमूर्त विचार के लिए कोई क्षमता है? मैं पूछ रहा हूं कि सामान्य मामले में कौन सा विकल्प बेहतर है। एप्लिकेशन अभी तक जारी नहीं किया गया है इसलिए मुझे नहीं पता – federicot

+0

हां :-)। @oded, डेटाबेस को कम कॉल को बेहतर करता है, कम बाइट बेहतर स्थानांतरित करते हैं, लेकिन सभी प्रश्न अभी भी वैध हैं; उनके पास असर होगा ... – Ben

उत्तर

12

यह एक स्थिर समारोह Client.getById कि पूरे ग्राहक रिकॉर्ड या कई (Client.getNameById, Client.getMobileNumberById, आदि) है कि व्यक्ति के खेतों को पुनः प्राप्त करने को पुन: प्राप्त करने के लिए बेहतर है?

हाँ, यह है।

नेटवर्क विलंबता और अंतराल के साथ-साथ कनेक्शन स्थापित करने के ऊपरी हिस्से का मतलब है कि जितना संभव हो सके डेटाबेस डेटाबेस को संतृप्ति से रखने के लिए सबसे अच्छा तरीका है।

यदि डेटा का आकार वास्तव में इतना प्रभावशाली है कि आप एक प्रभाव देखते हैं, तो आप एक ही क्वेरी में आवश्यक विशिष्ट फ़ील्ड को पुनर्प्राप्त करने पर विचार कर सकते हैं (डेटा के प्रश्न पूछें)।

+0

आपके उत्तर के लिए धन्यवाद! – federicot

+24

"क्या ए या बी करना बेहतर है?" .... "हां।" :-D –

संबंधित मुद्दे