2010-03-18 14 views
10

मैंने सुना है कि mysql प्रश्न बहुत महंगे हैं, और आपको उन सभी में से बहुत से लागतों से बचना चाहिए।MySQL प्रश्न - वे वास्तव में कितने महंगे हैं?

मैं एक साइट है कि काफी कुछ लोगों द्वारा इस्तेमाल किया जाएगा रहा हूँ, और मैं सोच रहा हूँ:

कैसे महंगा mysql प्रश्नों वास्तव में कर रहे हैं? अगर मेरे डेटाबेस में 400,000 लोग हैं, तो उनमें से एक के लिए पूछना कितना महंगा है?

मुझे कितना ध्यान देने की ज़रूरत है कि मैं ग्राहक अनुरोध के प्रति बहुत अधिक प्रश्न नहीं उठाता?


संपादित करें: टॉमटॉम अपने उत्तर के साथ और अधिक सही नहीं हो सका। टिप्पणियों से जुड़ी साइटों पर विकृति परीक्षण के अनुसार (और कुछ साइटें जिन्हें मैंने "सेकेंडल प्रश्न प्रति सेकेंड" खोज के माध्यम से पाया), मुझे थोड़ी देर के लिए समस्याएं नहीं आ रही हैं - mysql प्रति सेकेंड हजारों प्रश्न पूछ सकता है रिमोट सर्वर के साथ।

उत्तर

15

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

+0

कि आश्वस्त है, धन्यवाद :) - एक बात हालांकि, कर सकते हैं उचित सूचकांक का उदाहरण दें? बिल्कुल सही नहीं है कि आप किस चीज का जिक्र कर रहे हैं। – Cam

+2

यदि आप हमेशा उपयोगकर्ता नाम से उपयोगकर्ता को चुनते हैं तो आपको उपयोगकर्ता नाम कॉलम पर एक इंडेक्स सेट करना चाहिए। यदि आप उपयोगकर्ता आईडी द्वारा चुनते हैं तो उपयोगकर्ता आईडी कॉलम पर एक इंडेक्स सेट करें (शायद उस पर पहले से ही एक प्राथमिक कुंजी है)। संक्षेप में: कॉलम पर इंडेक्स सेट करें जो आपकी स्थिति में सबसे अधिक बार दिखाई देते हैं और यदि इंडेक्स का उपयोग किया जाता है तो हमेशा "एक्सप्लिन चुनें ..." से जांचें। – dbemerlin

+0

@incrediman: http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html, http://dev.mysql.com/doc/refman/5.1/en/ पर एक नज़र डालें का उपयोग कर रहे हैं और शायद http://www.mysqlperformanceblog.com/ या http://jan.kneschke.de/projects/mysql/ – VolkerK

2

यह

एक) आपका आवागमन स्तर ख) आपके सर्वर ग) कैसे महंगा आपके प्रश्नों

उदाहरण के लिए कर रहे हैं, एक सामान्य नियम के रूप में पर निर्भर करता है, मैं कभी नहीं से अधिक 15 एक पृष्ठ प्रश्नों । हालांकि मैं कम से कम 6-7 महंगा होने की अनुमति देता हूं (1-2 जोड़ता है)।

कुछ भी जो केवल बहुत ही कम हो जाता है (उदाहरण के रूप में फिल्म विवरण) मैं कैश करूंगा। फिर प्रशासन में, उस मूवी को अपडेट करते समय उस कैश फ़ाइल को हटा दें।

हालांकि मेरे पास ऐसी साइटें हैं जिनमें 80 प्रश्न हैं (दिन में वापस) और 200+ आगंतुक लगातार कोई समस्या नहीं कर रहे थे लेकिन वे सभी बहुत हल्के थे।

मुझे नहीं लगता कि कोई असली ठोस नियम है जो लोग देंगे या आपको इसका पालन करना चाहिए।

+0

धन्यवाद, संख्याओं के लिए +1, यह बहुत आश्वस्त है।मेरे पास प्रति पृष्ठ अधिकतम 8-10 प्रश्न हैं, जिनमें अधिकांश पृष्ठ केवल कुछ प्रश्नों का उपयोग करते हैं। मेरे प्रश्नों में से कोई भी वास्तव में महंगा नहीं है - वे अधिकतर सरल चयन और आवेषण होते हैं (हालांकि एक एसयूएम है, जो मुझे लगता है कि यह महंगा है, तथ्य यह है कि यह केवल पृष्ठ पंक्तियों के बारे में 250 पंक्तियों का सारांश है)। – Cam

3

जब तक आपके प्रश्न सटीक और यथासंभव कुशल के रूप में लिखे जाते हैं, तो MySQL इन कार्यों को करने में सक्षम होने के लिए बनाया जाता है।

अगर आप कहते हैं 400,000 उपयोगकर्ताओं हालांकि है, और अपने देख रही प्रदर्शन के मुद्दों आपको इन उपयोगकर्ताओं के बंद करने के लिए पर्याप्त पैसा बनाने की जानी चाहिए वैसे भी अपने सर्वर के उन्नयन के लिए :)

संबंधित मुद्दे