ऐसा लगता है:बग #70617 डिफ़ॉल्ट स्थायी आंकड़े अनपेक्षित लंबी क्वेरी समय का कारण बन सकते हैं
इसके लायक क्या है, यह पेरकोना बग नहीं है, यह MySQL 5.6 समुदाय संस्करण में भी मौजूद है।
तीन संभावित समाधान हैं:
-
अनुकूलक को तालिका संदर्भों को पुन:क्रमित न करने का संकेत देने के लिए STRAIGHT_JOIN का उपयोग करें।
SELECT STRAIGHT_JOIN i.item_name, i.item_key, i.item_date, f.format_long FROM items i INNER JOIN formats f ON i.item_format = f.format_id WHERE i.item_private = 0 ORDER BY i.item_id DESC LIMIT 8
मैंने आपके जॉइन को SQL-92 सिंटैक्स का उपयोग करने के लिए फिर से लिखा है, जिसकी मैं अनुशंसा करता हूं।
-
नए InnoDB परसिस्टेंट आँकड़े को अक्षम करेंए> सुविधा, 5.6 से पहले के व्यवहार पर वापस लौट रही है।
आपकी my.cnf फ़ाइल में:
innodb_stats_persistent=0
-
डेटा में महत्वपूर्ण परिवर्तन करने के बाद मैन्युअल रूप से InnoDB अनुकूलक आँकड़े ताज़ा करें (उदाहरण के लिए, mysqldump लोड करने के बाद):
ANALYZE TABLE items; ANALYZE TABLE formats;
पुनश्च:मैं पेरकोना में काम करता हूं, और इस बग की खोज मेरे सहयोगी Justin Swanhart ने की थी। ।