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

Mysql इंडेक्स को ऑप्टिमाइज़ कैसे करें ताकि INSERT ऑपरेशंस एक बड़ी टेबल पर बार-बार लिखने और पढ़ने के साथ जल्दी से हो जाए?

डेटा तालिका में एकल पंक्ति के लिए संचालन लिखना नहीं होना चाहिए तालिका कितनी भी बड़ी क्यों न हो, 5 सेकंड का समय लें।

क्या आपका क्लस्टर इंडेक्स टाइमस्टैम्प फ़ील्ड पर आधारित है? यदि नहीं, तो ऐसा होना चाहिए, इसलिए आप कहीं अपनी तालिका के बीच में नहीं लिख रहे हैं। साथ ही, सुनिश्चित करें कि आप InnoDB तालिकाओं का उपयोग कर रहे हैं - MyISAM लिखने के लिए अनुकूलित नहीं है।

मैं दो . में लिखने का प्रस्ताव रखूंगा टेबल:एक लंबी अवधि की टेबल, एक शॉर्ट-टर्म रिपोर्टिंग टेबल जिसमें बहुत कम या कोई इंडेक्सिंग नहीं है, जिसे बाद में आवश्यकतानुसार डंप कर दिया जाता है।

लाइव रिपोर्टिंग डेटा के लिए memcached या इन-मेमोरी डेटाबेस का उपयोग करने के लिए एक और समाधान होगा, ताकि उत्पादन डेटाबेस पर कोई हिट न हो।

एक और विचार:इनमें से किसी भी रिपोर्ट को वास्तव में "लाइव" कैसे होना चाहिए? संभवत:प्रत्येक . के लिए एक बार बनाम समय के आधार पर नई सूची प्राप्त करना पृष्ठ दृश्य पर्याप्त होगा।



  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. meta_query, संबंध या और और दोनों का उपयोग करके खोज कैसे करें?

  4. मैसकल ट्रिगर/इवेंट्स बनाम क्रोनजॉब

  5. mysql मेमोरी इंजन को अधिक डेटा कैसे स्टोर करें?