Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

प्रदर्शन में सुधार के लिए क्या अनुक्रमित किया जाना चाहिए?

सामान्य तौर पर, चयन फ़िल्टर user_id . पर अनुक्रमणिका का उपयोग कर सकते हैं या activity_type_id या दोनों (किसी भी क्रम में)।

ऑर्डरिंग ऑपरेशन created_at . पर फ़िल्टर का उपयोग करने में सक्षम हो सकता है ।

यह संभव है कि इस क्वेरी के लिए, (user_id, activity_type_id) पर एक समग्र अनुक्रमणिका हो यह मानते हुए कि MySQL वास्तव में इसका उपयोग कर सकता है, सर्वोत्तम परिणाम देगा। ऐसा न करने पर, user_id . को इंडेक्स करना बेहतर होगा activity_type_id . की तुलना में क्योंकि यह बेहतर चयनात्मकता प्रदान करने की संभावना है। यह सोचने का एक कारण यह है कि यदि सूचकांक activity_type_id पर किसी अनुक्रमणिका का उपयोग करता है तो उसे स्कैन करने के लिए 4 उपखंड होंगे। , स्कैन करने के लिए केवल एक उपखंड की तुलना में यदि यह user_id . पर किसी अनुक्रमणिका का उपयोग करता है अकेले।

सॉर्ट ऑर्डर के लिए किसी इंडेक्स पर भरोसा करने की कोशिश करने का मतलब एक पूर्ण टेबल स्कैन हो सकता है, इसलिए इसके फायदेमंद होने की संभावना कम है। मैं created_at . पर एक इंडेक्स नहीं बनाऊंगा इस क्वेरी का समर्थन करने के लिए; अन्य प्रश्न भी हो सकते हैं जहां यह फायदेमंद होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्थानीय समय उदाहरण - MySQL

  2. अमान्य एक्सएमएल प्रारूप - इससे कैसे बचें

  3. PHP/MySQL टाइमस्टैम्प को अधिक आकर्षक बनाना

  4. MySQL और PHP - अद्वितीय तालिका/उपनाम नहीं

  5. mysql दौड़ की स्थिति डालें