2010-03-25 19 views
6

मेरे पास एक उत्पादन डेटाबेस है जहां उपयोग आंकड़े रहते हैं। यह डेटाबेस कई अन्य चीजों के लिए ज़िम्मेदार है (केवल आंकड़े कैल्क नहीं)। मैं संकल्प द्वारा निर्धारित बाल्टी में दिलचस्प आंकड़ों के विभिन्न संकल्प (दिन, सप्ताह, महीने, वर्ष) को समय-समय पर रोल करने के लिए PHP का उपयोग करता हूं।PHP/MySQL डेटाबेस कनेक्शन प्राथमिकता?

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

मेरी समस्या यह है कि गणना काफी गहन है और उत्पादन डेटाबेस सर्वर के क्यूपीएस ड्राइव करती है। क्या किसी विशेष डेटाबेस कनेक्शन पर "प्राथमिकता" सेट करने का कोई तरीका है ताकि यह इन गणनाओं को करने के लिए केवल "ऑफ-चक्र" का उपयोग करेगा?

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

किसी भी मदद के लिए अग्रिम धन्यवाद, जोश

+0

मुझे यह वही समस्या है! – camdixon

उत्तर

5

low_priority_updates वास्तव में आप क्या जरूरत है क्या करना चाहिए।

+0

उत्सुक यह कैसे काम करता है ... "यदि सेट 1 पर सेट किया गया है, तो सभी INSERT, अद्यतन, हटाएं, और लॉक टेबल लिखने के वक्तव्य तब तक प्रतीक्षा करें जब तक कोई लंबित चयन या लॉक टेबल प्रभावित तालिका पर न हो।" यह एक सर्वर सेटिंग प्रतीत होता है? यह उचित प्रतीत नहीं होता है, क्योंकि मैं नहीं चाहता कि सभी आवेषण, अद्यतन, प्रभावित हो जाएं (यह एक उत्पादन डेटाबेस है जो कई अन्य चीजें करता है)। वास्तव में, मैं इस कनेक्शन द्वारा जारी किए गए सभी प्रश्नों को कम प्राथमिकता (यहां तक ​​कि चयन, इत्यादि) का इलाज करना चाहता हूं – Josh

+2

प्रलेखन कहता है "वेरिएबल स्कोप: दोनों" जिसका अर्थ है कि आप इसे विश्व स्तर पर सेट कर सकते हैं, बल्कि सत्र/कनेक्शन के लिए भी। और इसे "गतिशील: हां" के रूप में चिह्नित किया गया है, इसलिए http://dev.mysql.com/doc/refman/5.0/en/dynamic-system-variables.html लागू होता है। – VolkerK

+0

reponses के लिए धन्यवाद - मैंने जवाबों को वोट दिया। हालांकि, गहन हैं कि प्रश्नों की प्रकृति avg() का चयन करें और बड़े डेटासेट पर अधिकतम() का चयन करें, साथ ही साथ छोटे समय के डोमेन पर कई छोटे चयन करें। यह वास्तव में सम्मिलित, अद्यतन, और हटा देता है कि मैं प्रति से चिंतित हूं (वे एक टेबल पर हैं जिनके पास उत्पाद के साथ कोई बातचीत नहीं है और इसलिए ताले घुसपैठ नहीं कर रहे हैं)। मैं I/O को अधिकतम करने या सॉर्टिंग इत्यादि के कारण प्रोसेसर को कुचलने के बारे में अधिक चिंतित था। मुझे यकीन नहीं है कि डीबी का उपयोग करने के लिए एक सामान्य उद्देश्य तरीका है जब इसका उपयोग नहीं किया जाता है, जब तक कि मुझे कुछ याद नहीं आया। – Josh

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