सवाल गरीब आंतरिक डेटाबेस - इसे प्रतिस्थापित करें या हार्डवेयर को चक करें?


तो - हमारे पास एक आंतरिक कंपनी डेटाबेस है, सामान्य प्रकार की सामग्री: ग्राहकों, फोन कॉल, बिक्री सौदों और ग्राहक समझौतों / योजनाओं का प्रबंधन करती है।

यह एक एक्सेस 2000 फ्रंट एंड है, और एक SQL सर्वर 2000 मानक बैक-एंड है। एकल सर्वर, दोहरी ज़ीऑन 3.2GHz, 2 जीबी रैम, विंडोज सर्वर 2003, पूरे दिन लगभग 40% सीपीयू लोड प्राप्त करता है, ओएस (एचटी) के लिए दिखाई देने वाले 4 कोरों में फैला हुआ है।

बैक-एंड डेटाबेस खराब डिजाइन किया गया है, और 10 से अधिक वर्षों में कार्बनिक रूप से उगाया गया है, जो कम से कम कुशल व्यक्तियों द्वारा बनाए रखा जाता है। यह बुरी तरह सामान्यीकृत है, और कुछ स्पष्ट समस्याओं में हजारों पंक्तियों वाली सारणी शामिल हैं जिनमें कोई प्राथमिक कुंजी या इंडेक्स नहीं है, जो सिस्टम के कुछ सबसे अधिक उपयोग किए जाने वाले हिस्सों में से कुछ के लिए बहु-तालिका में शामिल होते हैं (उदाहरण के लिए कॉल मैनेजर एप्लिकेशन जो दिन के 8 घंटे के लिए हर किसी के दूसरे मॉनिटर पर बैठता है और हर कुछ सेकंड में एक बड़ी अक्षम क्वेरी चलाता है)।

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

कंपनी अब धीरे-धीरे बढ़ रही है, ग्राहकों की संख्या बढ़ रही है, साथ ही साथ समवर्ती उपयोगकर्ताओं की संख्या में मामूली वृद्धि हुई है, और प्रदर्शन हाल ही में काफी खराब हो रहा है (फॉर्मों के बीच स्थानांतरित करने की प्रतीक्षा कर रहा है, सूची बनाने के लिए सूचियों की प्रतीक्षा कर रहा है आदि। )

परफमन कहते हैं:

  • प्रति सेकंड डिस्क स्थानान्तरण: 0 से 30 के बीच, औसत 4।
  • वर्तमान डिस्क कतार लंबाई: लगभग 1 hovers

एसक्यूएल सर्वर का प्रोफाइलर हर मिनट सैकड़ों हजारों प्रश्न पूछता है। ग्राहकों पर सीपीयू उपयोग काफी शून्य है, यह इंगित करता है कि यह निष्पादित करने के लिए सर्वर-साइड क्वेरी पर प्रतीक्षा कर रहा है। मैंने डीबी इंजन ट्यूनिंग सलाहकार के माध्यम से इस वर्कलोड को रखा है, अपने सुझावों को टेस्ट बैकअप पर लागू किया है, लेकिन इससे वास्तव में बहुत अंतर नहीं आया है।

वैसे, हमारे पास 100 एमबी और गीगाबिट ईथरनेट का मिश्रण है, सब एक सबनेट पर, दो मंजिलों में 40 आईएसएच उपयोगकर्ता।

सवाल के लिए।

जैसा कि मैंने देखा है, इस स्थिति को हल / सुधारने के लिए हमारे पास दो विकल्प हैं।

  • हम इसे स्क्रैप कर सकते हैं और इसे पूरी तरह से नई सीआरएम प्रणाली के साथ बदल सकते हैं, या तो bespoke या part bespoke
  • हम हार्डवेयर को चकित करके इस प्रणाली का जीवन बढ़ा सकते हैं।

हम सॉफ़्टवेयर को बदलने की तुलना में परिमाण कम लागत के क्रम के लिए पागल प्रदर्शन संख्याओं के साथ एक इंटेल i7 सिस्टम बना सकते हैं।

जब एक नई प्रणाली अंततः विकसित की जाती है, तो इसे इस बॉक्स पर होस्ट किया जा सकता है, इसलिए कोई बर्बाद हार्डवेयर नहीं है। एक नई सीआरएम प्रणाली बंद हो रही है, और बंद, और बंद - मुझे नहीं लगता कि कम से कम एक वर्ष के लिए हो रहा है।

इस स्थिति पर कोई विचार, विशेष रूप से यदि आप यहां स्वयं हैं, तो इसकी सराहना की जाएगी।

धन्यवाद


39
2017-08-10 10:45


मूल


वर्णन और सामग्री दोनों के लिए +1। यह ऐसा कुछ है जिसे हम सभी दैनिक आधार पर देखते हैं। - Dayton Brown
मुझे भी। महान सवाल - Joseph Kern
डीटीए के आउटपुट का मतलब यह नहीं है कि आप प्रदर्शन करने के लिए डेटाबेस अनुकूलन की सीमा तक पहुंच गए हैं। एक एसक्यूएल सर्वर विशेषज्ञ प्राप्त करें! वे चमत्कार कर सकते हैं और अपने मौजूदा हार्डवेयर को जीवन के कुछ और साल दे सकते हैं - Nick Kavadias


जवाब:


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

मैं वास्तव में उस कारण से किसी कंपनी के लिए वेब ऐप्स का एक सेट होस्ट करने जा रहा हूं। आंतरिक आईटी विभाग इसे बेहतर हार्डवेयर में नहीं ले जायेगा क्योंकि वे उन्हें एक नए मंच पर पुनर्विकास करना चाहते हैं। यह लागत लगभग तीन गुना है जो इसे नए हार्डवेयर में ले जाने के लिए खर्च करेगी। इस बात का भी जिक्र नहीं है कि कंपनी के पास एक वर्ष में अनुबंध नवीनीकृत नहीं हो सकता है।


20
2017-08-10 12:05



उनका सवाल "न्यूहार्डवेयर या न्यूसीआरएम" नहीं था "न्यूहार्डवेयर और न्यूसीआरएम" ... और वास्तव में आप बोर्ड के खिलाफ नहीं जा रहे हैं (एक नया सीआरएम खरीदें), सवाल को फिर से तैयार करने (OR से AND AND तक)। - Joseph Kern
यहां कुछ अन्य टिप्पणियां कह रही हैं "दोनों करो"। अगर वह दोनों करता है, तो वास्तव में कोई सवाल नहीं है। लेकिन क्या वह दोनों को करने का जोखिम उठा सकता है? - Joseph Kern
यूसुफ, मैंने नीचे पूरी तरह उत्तर दिया, लेकिन - नया हार्डवेयर, साथ ही हाल ही में सर्वर संस्करणों में अपग्रेड करना, कुछ प्रश्नों को अनुकूलित करने और इंडेक्स जोड़ने का प्लस शायद सबसे प्रभावी होगा। आप प्रतिस्पर्धी लाभ को नहीं देना चाहते हैं कि कस्टम सीआरएम छोटे, बढ़ते व्यवसायों को देते हैं। - Karl Katzke
माई डू दोनों, अगर आप इसे पढ़ते हैं तो इसे फिर से काम करते समय हार्डवेयर चल रहा था। संसाधनों के आधार पर इसकी आवश्यकता होती है जो इसके कुछ हिस्सों को पुन: सक्रिय करते समय रैम में कुछ सौ $$ हो सकती है। उन मुद्दों को दिखा रहा है जो उन्हें स्क्रैप करने के साथ थे और पूरी तरह से नए के साथ जा रहे थे कि क्या नया कस्टम लिखित सिस्टम है या बॉक्स से बाहर निकलता है। - SpaceManSpiff
बड़ी तस्वीर देखने के लिए +1: इसमें डेवलपर्स / आईटी फेंकने की तुलना में हार्डवेयर को फेंकने के लिए कम लागत आएगी। जब तक कि आप ऑफ-द-शेल्फ सीआरएम नहीं ढूंढ पाते हैं जो आपको आवश्यक सब कुछ करता है, सर्वर से कम लागत लेता है, और इसमें माइग्रेट करने के लिए कोई समय नहीं लगेगा। - Ernie


आपको या तो करने की आवश्यकता नहीं हो सकती है। मेरा सुझाव है कि तालिका में कुछ इंडेक्स / चाबियाँ जोड़ दें।

हजारों पंक्तियों वाली सारणी जिनमें कोई प्राथमिक कुंजी या इंडेक्स नहीं है, जिनका भी बहु-तालिका में शामिल होता है

बहुत पैसा या समय खर्च करने से पहले, कुछ घंटों का समय लें और उन जोड़ों में शामिल किसी भी तालिका में इंडेक्स (या प्राथमिक कुंजी यदि आप कर सकते हैं) जोड़ें ... विशेष रूप से जहां खंड में उपयोग किए गए कॉलम के लिए। आप केवल कुछ घंटों में 10 के कारक द्वारा प्रदर्शन को आसानी से सुधार सकते हैं।


14
2017-08-10 14:44



+1 या 100 का कारक - उचित इंडेक्स को कम करके आंका नहीं जा सकता है ... - Oskar Duveborn


डिस्क I / O की कमी का तात्पर्य है कि प्रश्नों को ज्यादातर रैम से खिलाया जाता है। यदि आप 'अचानक' हैं तो आपकी हॉट टेबल रैम में फिट नहीं हैं और सर्वर डिस्क काम करना शुरू कर देता है, तो आप खराब सवारी के लिए हो सकते हैं। इन दिनों 2 जीबी या रैम बहुत अधिक नहीं है, लेकिन SQL2000 युग में वापस यह बड़ा होगा। मैं अनुमान लगा रहा हूं कि आम तौर पर एप्लिकेशन द्वारा उपयोग किए जाने वाले डेटा की मात्रा आपके पास मौजूद रैम से छोटी है। आप डेटा फ़ाइलों में "प्रयुक्त" स्थान की मात्रा को देखना चाह सकते हैं। यह आपको एक विचार देगा कि डाटाबेस कितना रैम उपभोग कर सकता है, सबसे खराब मामला। SQL सर्वर उस डेटा को नहीं रखता है जिसकी उसे RAM में आवश्यकता नहीं है, लेकिन यह जानना मुश्किल हो सकता है कि कौन सी टेबल का उपयोग किया जाता है और कब।

हाइपरथ्रेडिंग हमेशा SQL सर्वर के साथ सहायक नहीं है। आप बेहतर प्रदर्शन बंद कर सकते हैं। परीक्षण करना मुश्किल है क्योंकि इसे बंद करना और उसे रीबूट की आवश्यकता है, और यह एक उत्पादन सर्वर पर एक बड़ी परेशानी है।

"सैकड़ों हजारों प्रश्न एक मिनट" हजारों प्रश्नों का अनुवाद एक सेकंड में करते हैं। यह बहुत व्यस्त लगता है, लेकिन उस ट्रैफ़िक में से अधिकांश केवल एक्सेस द्वारा कर्सर ला सकता है। एक्सेस एसक्यूएल से परिणाम सेट को कुशलतापूर्वक पुनर्प्राप्त करने में विशेष रूप से खराब है। SQL सर्वर समांतरता सेटिंग को बंद करके आप बेहतर प्रदर्शन प्राप्त कर सकते हैं।

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

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

यदि डेटाबेस स्कीमा वास्तव में खराब है, तो आप टेबल पर अनुक्रमण को देखकर बस कुछ प्रदर्शन जीत प्राप्त कर सकते हैं। उन टेबलों पर ध्यान केंद्रित करें जिन्हें आप अक्सर जानते हैं। आप सर्वर के विरुद्ध चल रहे प्रश्नों को देखने के लिए प्रोफाइलर का उपयोग कर सकते हैं, बस उन प्रश्नों को देखने के लिए कहें जो बहुत सारे डेटा (जैसे 100,000 पेज) पढ़ते हैं और फिर उन प्रश्नों के लिए काम करते हैं जो ज्यादा नहीं पढ़ते हैं। आपने बताया कि कुछ तालिकाओं में चाबियाँ नहीं हैं। क्या डेटा में प्राकृतिक कुंजी हैं, केवल बाधाओं या अद्वितीय इंडेक्स द्वारा लागू नहीं?

क्या टेबल क्लस्टर सूचकांक है? क्लस्टर्ड इंडेक्सिंग की कमी से माध्यमिक प्रभावों के सभी प्रकार हो सकते हैं।

क्या कई कॉलम के साथ बहुत सारे नॉनक्लस्टर्ड इंडेक्स हैं? यह अक्सर एक अधिक प्रभावी अनुक्रमण रणनीति को लागू करने के बजाय कई कवर इंडेक्स बनाने का प्रयास होता है। एसक्यूएल सर्वर प्रभावी रूप से एक क्वेरी के दौरान फ्लाई पर कवर इंडेक्स का निर्माण कर सकता है, अगर ऐसा करने में समझदारी होती है और गैर-क्लस्टर और क्लस्टर इंडेक्स का समर्थन कर रहे हैं।

अंत में, यह पूछने लायक है: टेबल पर रखरखाव (reindexing और / या अद्यतन आंकड़े) किया जा रहा है?


8
2017-08-10 14:45



+1 उचित रूप से अनुक्रमित करने के लिए अक्सर उपयोग की जाने वाली तालिकाओं में कॉलम खोजने का प्रयास करें, थोड़ी किस्मत के साथ यह आसान और तेज़ इसे ठीक करने के लिए तेज़ हो सकता है - यदि नहीं, तो बिताए गए छोटे समय को महंगा नहीं होना चाहिए यदि आप या जो भी डीबीए / डीबीए ठेकेदार हार मानते हैं और जल्दी से आगे बढ़ते हैं अगर ऐसा लगता है कि इसमें एक चांदी की गोली नहीं है ... - Oskar Duveborn
पहुंच है नहीं "एसक्यूएल से परिणाम सेट को कुशलतापूर्वक पुनर्प्राप्त करने में विशेष रूप से खराब" जब तक कि ऐप खराब तरीके से डिज़ाइन नहीं किया गया हो। जब यह SQL सर्वर से अनुरोध भेजता है तो जेट / एसीई खराब मान्यताओं को बना सकता है। ऐसा एक है कि जेट / एसीई प्रति बैच अपडेट में एक बैच अपडेट को तोड़ देता है। यह एक प्रदर्शन बिंदु से भयानक है, लेकिन यह एक अच्छा सर्वर नागरिक बनने की कोशिश कर रहा है, क्योंकि यह सर्वर को अन्य उपयोगकर्ताओं के साथ अनुरोधों को क्रमबद्ध और अंतःस्थापित करने की अनुमति देता है, क्योंकि संभावित रूप से लंबे समय तक सबकुछ जोड़ना संभव है। यह ऑपरेशन सर्वर पक्ष को एक एसपीआरओसी में ले जाकर चारों ओर काम किया जा सकता है। - David W. Fenton
मेरे द्वारा देखे जाने वाले अधिकांश एक्सेस ऐप्स डिज़ाइन नहीं किए गए हैं, वे बस होते हैं और फिर 'व्यवस्थित' विकसित होते हैं। मैं इस तरह के व्यवहार के साथ आने वाले नेटवर्क यातायात और विलंबता के साथ पंक्ति द्वारा बड़े परिणाम सेट पंक्ति को पुनर्प्राप्त करने का उपयोग कर रहा हूं, कई बार मैंने गिनती बंद कर दी। मुझे 100% यकीन नहीं है कि यह एक्सेस के आधुनिक संस्करणों के साथ तय नहीं किया गया है जो जेट / ऐस की बजाय एसएनएसी की तरह कुछ उपयोग कर सकता है या यदि ऐसा कुछ है जो अधिक जानकार एक्सेस कोडर द्वारा काम किया जा सकता है, लेकिन यह ऐसा कुछ है मैंने अक्सर देखा है। - darin strait


यह एक व्यावसायिक प्रश्न है जो तकनीकी प्रश्न नहीं है।

व्यवसाय के मालिक के रूप में: व्यवसाय के लिए प्रणाली कितनी रणनीतिक है? कम रणनीतिक, जितना कम मैं इसे ख्याल रखता हूं और इसे ठीक करता हूं और खर्च किया जाता है, वह पैसा है जो मैं अपने व्यवसाय को बढ़ाने के लिए कहीं और इस्तेमाल कर सकता हूं।

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

एक आईटी परामर्शदाता के रूप में: आपका सिस्टम विरासत है और परिचालन लागत छुपा है। हम एक प्रणाली तैयार कर सकते हैं जो आपके लिए सही है, जो भविष्य के विकास और रणनीतिक लाभ के लिए एक मंच तैयार करेगा और प्रदान करेगा। यहां साइन इन करें और आपके सभी सपने सच हो जाएंगे।

एक आईटी कर्मचारी के रूप में: मैं यहां सुपरहीरो बन सकता हूं और इस चीज़ से नरक को अनुकूलित करके एक आसन्न आपदा को बदलकर कंपनी को बचा सकता हूं! मेरा प्रबंधक मुझे उपहार और प्रशंसा के साथ स्नान करेगा क्योंकि मैंने कंपनी को हजारों बचाया होगा।


6
2017-08-10 15:09



सवाल का जवाब देते हुए मजाकिया होने के लिए +1। - Ernie


मैं कहता हूं दोनों करो।

अभी आप 40% या इतने सीपीयू पर कहा था? क्या आप अभी तक उपयोगकर्ता की शिकायत कर रहे हैं (बहुत)? यदि नहीं, तो अभी भी आपके पास श्वास कक्ष है। थोड़ी देर के लिए इसे और अधिक स्मृति करने के लिए पर्याप्त हो सकता है।

जाने के रास्ते के लिए सवाल, क्या आपके पास घर सॉफ्टवेयर डेवलपर्स हैं? यदि उत्तर नहीं है तो इसे फिर से करने का प्रयास भी न करें। आप ठीक कहां खत्म हो जाएंगे।

मान लीजिए कि आपके घर के डेवलपर्स में क्या है, क्या आपके घर के डेवलपर्स में एक परियोजना को सही तरीके से करने की क्षमता है? मैं बात कर रहा हूं पूरी तरह से, ठीक से (निर्भर) समयरेखा, मूल रूप से वैसे ही जैसे यह एक ग्राहक की परियोजना थी। यदि नहीं, तो परेशान न करें या यह अब खत्म हो जाएगा जहां आप अभी हैं।

जब तक कंपनियां आती हैं, वे खुद के ग्राहक भी होते हैं, और आंतरिक परियोजनाओं को एक ही resouces देने की जरूरत है, आप अभी खत्म हो जाएगा जहां आप अभी हैं। वहां गया, ऐसा किया, टी-शर्ट का एक पूरा ड्रेसर मिला।

तो यदि आप इसे सही तरीके से नहीं कर सकते हैं तो आप दो विकल्प बॉक्स टर्न कुंजी से बाहर हैं, जो आप कर्मचारी हैं क्योंकि वे आपको पसंद करते सिस्टम के मोल्ड को फिट करना चाहते हैं। या यह कस्टमाइज़ करने योग्य होगा और आपको अभी भी इसे अनुकूलित करने के लिए प्रोजेक्ट समय बिताना होगा।

या आपके पास क्या है रिफैक्टर। याद रखें कि जब कोई नया आता है तो लोग सभी एक ही पूर्ण कार्यशीलता की अपेक्षा करेंगे, इसलिए यही कारण है कि आपको किसी अन्य तरीके से सब कुछ करना है। यदि आप इसे फिर से कारक बनाते हैं, तो आपके पास यह पता लगाने का मौका है कि यह कैसे काम करता है और फिर विज्ञापन-परिवर्तन में परिवर्तन कई योजनाओं में आप इसे योजना बनाते हैं।

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


2
2017-08-10 12:29





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

"इसे ठीक करें या इसे हटा दें" के विषय पर, यदि सिस्टम की विशेषताएं मूल रूप से आपके लिए काम करती हैं और आपको जो चाहिए वह करें, तो पहिया को फिर से लिखना न करें। यदि आपके उपयोगकर्ताओं को इस चीज़ का उपयोग करने के लिए जिमनास्टिक करना है क्योंकि यह आपकी आवश्यकताओं के अनुरूप नहीं है, तो इसमें कोई फर्क नहीं पड़ता है।


2
2017-08-10 13:44





खैर ... यह थोड़ी देर पहले है, लेकिन मैंने सोचा कि मैं यहां परिणाम रिकॉर्ड करूंगा।

अंत में, मैं एक और समस्या से निपटने के लिए लाइन द्वारा वीबीए लाइन के माध्यम से कदम रखा। तब मुझे एहसास हुआ कि पंक्तियों को लाने के लिए कुछ कॉल 20-30 + सेकंड के लिए अवरुद्ध कर रहे थे।

जब मैंने उनमें खोद दिया, मैंने पाया कि रोसेट एमएस एक्सेस क्वेरी पर आधारित था।

वह किसी अन्य एक्सेस क्वेरी से डेटा का चयन कर रहा था।

वह अभी तक एक और एक्सेस क्वेरी से डेटा का चयन कर रहा था।

जिनमें से सभी ने देखा कि उन्हें क्वेरी डिजाइनर का उपयोग करके खींच लिया गया था और एक साथ गिरा दिया गया था।

मैं शीर्ष आधा दर्जन उपयोगकर्ता दर्द बिंदुओं के माध्यम से चला गया और पाया कि बिना असफल वे सभी बिल्कुल वही थे।

इसलिए मैंने पूरी तरह से जंजीर प्रश्नों के ढेर को हटा दिया, और उनमें से प्रत्येक को एक ही पास-थ्रू क्वेरी के साथ बदल दिया जिसे टी-एसक्यूएल में लिखा जा सकता है और सीधे सर्वर पर निष्पादित किया जा सकता है।

बिना किसी विफलता में हर मामले में सुधार बिल्कुल विशाल था और किसी के लिए अब और पूछताछ की प्रतीक्षा नहीं थी।

और फिर मैंने कंपनी छोड़ दी। कोई विचार नहीं कि यह अभी भी है ... लेकिन मुझे यह याद नहीं है।


2
2017-08-29 16:07



नेस्टेड प्रश्नों के साथ स्वाभाविक रूप से गलत कुछ भी नहीं है। और, वास्तव में, वास्तव में मायने रखता है कि एक्सेस में QueryDefs स्रोत में क्या है, लेकिन जेट / एसीई सर्वर पर भेजना समाप्त कर देता है, जिसे आप SQL प्रोफाइलर का उपयोग करके पता लगा सकते हैं। हां, एक्सेस में खराब प्रश्न लिखना संभव है जो अक्षम और धीमी चीजें हैं, लेकिन यह हर डेटाबेस में संभव है! - David W. Fenton


मैं सिर्फ जोड़ने के बजाय एक अलग उत्तर पोस्ट कर रहा हूं डेटन का जवाब क्योंकि एक ऐसी लागत है जिसे पहले कुछ लोगों द्वारा उत्तर पोस्ट करने के लिए ध्यान में नहीं रखा जा रहा है: उपयोगकर्ताओं को पुनः प्रशिक्षित करने की लागत और एक नई सॉफ्टवेयर प्रोग्राम में फिट होने के लिए अपनी व्यावसायिक प्रक्रियाओं को बदलने की लागत। अन्यथा, उसने क्या कहा।

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

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

(साथ ही, मैं सर्वर संस्करण को यथासंभव अपग्रेड कर दूंगा - जब तक आप इसे स्थान पर प्राप्त करेंगे, एक्सेस 2000 और SQL Server 2000 दस वर्ष का होगा। यह कंप्यूटर वर्षों में पुराना है!)


1
2017-08-10 12:23





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


1
2017-08-20 00:31