Help optimizing a query for MySQL -


मेरे पास एक MySQL क्वेरी है जो निम्नानुसार जाती है

  SELECT count (`क्लिक` `उपयोगकर्ता_आईडी`) के रूप में कुल,` उपयोगकर्ता` .` पूर्णांक '`उपयोगकर्ताओं` से,` क्लिक`, जहां `उपयोगकर्ता` .`````` क्लिक करें।' यूज़र`आईडी` ग्रुप द्वारा` क्लिक`। `यूज़र_आईडी` ऑर्डर से `कुल` विवरण LIMIT 0,20;  

मैं कई प्रकार के बटन गेम बटन पर आंकड़े चला रहा हूं इसमें एक उपयोगकर्ता तालिका और एक क्लिक तालिका है। यह एक विशिष्ट उपयोगकर्ता से क्लिक लॉग करता है उपयोगकर्ता जब चाहें तब बटन क्लिक कर सकते हैं बीस क्लिक एक दिन, तीस अन्य, आदि। वे सभी पंक्ति में नहीं हैं।

वर्तमान में ~ 2k उपयोगकर्ताओं के लिए लगभग 180k क्लिक हैं औसत पर चलाने के लिए यह क्वेरी 1.38 सेकंड लेती है। मैं इसे तेज करना चाहूंगा अगर यह सब संभव हो।

  1. क्या USERS .id तालिका के लिए प्राथमिक कुंजी के रूप में परिभाषित? यह होना चाहिए ...
  2. INNODB मानते हुए, CLICKS.user_id के साथ इसके मानों को संबद्ध करने के लिए USERS.id पर एक विदेशी कुंजी बाध्य है?
  3. USERS.id और CLICKS.user_id एक संख्यात्मक डेटा प्रकार हैं (IE: INT), पाठ आधारित नहीं?
    • CLICKS.user_id
    • USERS.fullname
  4. यदि इंडेक्स मौजूद हैं, तो:

      टेबल्स का विश्लेषण करें; टेबल क्लिक्स का विश्लेषण करें;  

Comments