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

MySQL अनुक्रमणिका दक्षता में सुधार - एकाधिक अनुक्रमणिका में कॉलम?

बस एक त्वरित नोट क्योंकि इस तरह की चीज़ों को बार-बार देखा जाता है:prism_worlds पर जॉइन करें अनावश्यक है क्योंकि आपको (संभवतः) उस तालिका के डेटा की आवश्यकता नहीं है। आप मूल रूप से डेटाबेस से पूछ रहे हैं "मुझे दुनिया का हर नाम दें जिसके लिए नाम 'कुछ' के बराबर है"। इसके बजाय एक अदिश उपश्रेणी का प्रयोग करें।

prism_worlds.world . पर एक अद्वितीय अनुक्रमणिका बनाएं और क्वेरी चलाएँ जैसे

SELECT *
FROM prism_data 
WHERE prism_data.world_id = (SELECT w.world_id FROM prism_worlds AS w WHERE w.world = 'DeuxTiersMondes')
LIMIT 1000;

अनुकूलक यह पता लगा लेगा कि prism_data.world_id एक स्थिर मूल्य के लिए विवश है। MySQL इस मान का पता लगाने और क्वेरी के साथ इसका उपयोग करने के लिए समय से पहले एक क्वेरी चलाएगा। देखें EXPLAIN const . के लिए -सबक्वेरी निष्पादित।

prism_data.x के संबंध में , .y और .z :आप उसके लिए एक ज्यामिति स्तंभ और एक स्थानिक सूचकांक बनाना चाह सकते हैं। यदि आपको अलग-अलग मानों से चिपके रहने की आवश्यकता है, तो आप संपूर्ण विश्व ज्यामिति को निश्चित आकार के स्वरों (एक एकल इंट द्वारा दर्शाए गए) में अलग करना चाहते हैं और यह पता लगाने के लिए सरल ज्यामिति का उपयोग कर सकते हैं कि कौन सी स्थिति किस स्वर में आती है।

मेरा व्यक्तिगत समाधान इस तालिका में लाखों प्रश्नों को जोड़ने पर बहुत अधिक विचार नहीं करना होगा। इंडेक्स इसे धीमा और बड़ा बना देंगे। समय से पहले परिणाम तैयार करने के लिए एक रिपोर्टिंग तालिका (भौतिक दृश्य) भरने के लिए क्रॉन जॉब का उपयोग करें और जब तक क्रॉन जॉब आसपास आता है और उन्हें फिर से अपडेट करता है तब तक उनका उपयोग करें।



  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. कैसे संग्रहीत प्रक्रियाओं का उपयोग कर mysql से मेल भेजने के लिए?

  3. $wpdb के साथ समान कथन का उपयोग करना-> हैश दिखाने के लिए तैयार करें जहां वाइल्डकार्ड वर्ण हैं

  4. मैं MySQL में कमांड लाइन का उपयोग करके उपयोगकर्ता खातों की सूची कैसे प्राप्त कर सकता हूं?

  5. MySQL डेटाबेस में 255 से अधिक char को कैसे स्टोर करें?