2013-05-08 15 views
5

पर पहले से पहचानने का कोई तरीका है (परीक्षण और त्रुटि से नहीं) क्या कोई विशिष्ट क्वेरी ग्रुप बाय या ग्रुप प्रत्येक का उपयोग करनी चाहिए? हमने वर्तमान में देखा है कि ~ 60-70% की कार्डिनालिटी के बाद हमें समूह ईएचक का उपयोग करने के लिए कहा जाता है। जैसा कि हम एसक्यूएल उत्पन्न करते हैं, भविष्यवाणी करना मुश्किल है।प्रत्येक बनाम समूह बनाम समूह को

उत्तर

4

'ईएसीएच' का उपयोग क्वेरी पर निर्भर नहीं है, बल्कि डेटा पर निर्भर करता है। क्या समूह अभिव्यक्ति के लिए अद्वितीय मूल्यों की एक छोटी संख्या है? ग्रुप बाय का प्रयोग करें। क्या बहुत कुछ है? ग्रुप प्रत्येक का प्रयोग करें।

सबसे अच्छी रणनीति ग्रुप BY का उपयोग करना है जब तक आपको "सीमा से अधिक त्रुटि" प्राप्त न हो जाए।

"क्यों?" में गहराई से जाने के लिए, आप ड्रेमल पेपर को देख सकते हैं जिसने इसे शुरू किया। मूल रूप से ग्रुप मिक्सर में चलता है, जबकि ग्रुप प्रत्येक द्वारा शार्ड्स पर धक्का दिया जाता है।

अन्य अंतर्दृष्टि के लिए, Resources Exceeded during query execution पर jcondit के उत्तरों की जांच करें।

+0

धन्यवाद, लेकिन हम उपयोगकर्ताओं को "त्रुटि प्राप्त करने" के लिए क्वेरी नहीं दे सकते हैं और फिर इसे फिर से चला सकते हैं :-)। – user1516770

+0

मैं सहमत हूं! क्या आप मुझे उपयोग के मामले के बारे में और बता सकते हैं? –

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