Tuesday, 15 May 2012

Limit in mysql is timing out -


संक्षेप में, यह क्वेरी 890738 प्रविष्टियों को रिटर्न करती है

  SELECT * FROM 'cms_question_report` WHERE `दोआ '& lt; '2014-12-16 11:48:13'  

और यह ऐसा करता है कि लगभग 2 सेकंड में

इसे चार हिस्सों में कटौती करने की कोशिश करने के बाद, यह क्वेरी समय बाहर और एक त्रुटि पैदा करता है

  SELECT * FROM 'cms_question_report` WHERE `डू` & lt; '2014-12-16 11:48:13' LIMIT 222684  

यहां त्रुटि है:

  अनुरोधित त्रुटि कोड संसाधित करने में त्रुटि: 500 त्रुटि पाठ: आंतरिक सर्वर त्रुटि  

मेरी मूलभूत समझ में दूसरी एक तेजी से चलना नहीं चाहिए, क्योंकि उसमें डेटा प्राप्त करने के लिए इसकी कम सीमा है?

एक और परीक्षा:

  SELECT * से 'cms_question_report` जहां `दोदा` & lt; '2014-12-16 11:48:13' सीमा 2   

यह सुचारू रूप से काम करता है

नहीं, यह तेज़ी से नहीं चलेंगे डीबी को पहले सभी परिणामों को प्राप्त करना होगा और एक सीमा लागू करने से पहले उन्हें आदेश देना होगा। मुझे पता है कि यह संसाधनों की बर्बादी लगता है, क्यों न सिर्फ LIMIT पंक्तियाँ प्राप्त करने के बाद बंद हो? क्योंकि उन्हें आदेश दिया जाना है, तब भी जब वह ऑर्डर निहित है क्योंकि आपने स्पष्ट आदेश निर्दिष्ट नहीं किया है। निहित आदेश क्वेरी में मुख्य तालिका के पीके आदेश है, लेकिन WHERE खंड का अर्थ है कि पंक्तियां उस क्रम में स्वचालित रूप से नहीं मिलेंगी। इसलिए सभी पंक्तियों को मिलना है, फिर आदेश दिए गए हैं, फिर सीमित हैं।


No comments:

Post a Comment