2009-03-03 18 views
8

tsql प्रश्न लिखते समय इंडेक्स ट्यूनिंग सीखने का सबसे अच्छा व्यावहारिक तरीका क्या है? मेरे पास वीएस -2008 एसक्यूएल एक्सप्रेस है। क्या कोई मुझे उदाहरण प्रदान कर सकता है, इत्यादि? मुझे पहले से ही ऑनलाइन लेख मिल चुके हैं और वे सिद्धांत में महान हैं, लेकिन मैं अभी भी वास्तविक जीवन कार्रवाई में इंडेक्स ट्यूनिंग देखने में असफल रहा हूं। क्या वहां उदाहरण बनाने के लिए बहुत आसान है?मैं SQL सर्वर इंडेक्स ट्यूनिंग कैसे सीख सकता हूं?

उत्तर

6

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

मेरा अनुभव एसक्यूएल 2000 उपकरणों के साथ है। क्वेरी विश्लेषक, निष्पादन योजना दिखा रहा है और इंडेक्स के प्रकारों को देख रहा है और उपयोग में शामिल हो गया है। यहां इसका वर्णन करना बहुत मुश्किल है।

मैं, इस विषय पर एक अच्छी किताब की सिफारिश कर सकते विशेष रूप से अध्याय 9.

http://www.amazon.com/Professional-Server-Performance-Tuning-Programmer/dp/0470176393

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

+0

जब मैंने इसका उत्तर दिया, तो मैंने पूछा कि क्या मैं इंसान था या बॉट! :(lol – MikeW

+0

जेफ के अमेज़ॅन रेफरल्स चोरी करना बंद करो! यही कारण है कि एसओ आपके बॉट को क्यों सोचता है –

0

आप SQL डेवलपर संस्करण है, तो आप डेटाबेस इंजन ट्यूनिंग सलाहकार पर एक नजर है करना चाहते हैं।

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

सावधान रहें कि ट्यूनिंग को विचारों का एक अच्छा सौदा की आवश्यकता है, क्योंकि नई अनुक्रमणिका जोड़ना आपके वर्कलोड की गति को बढ़ा सकता है, लेकिन आप एक बहुत ही महत्वपूर्ण नुकसान के लिए एक महत्वपूर्ण क्वेरी की गति बढ़ा सकते हैं।

वहाँ जिसके बारे में कैसे प्रश्नों काम कुछ बहुत अच्छी सलाह है TSQL क्वैरी के बारे में एक अच्छी किताब और आप उन्हें कैसे ट्यूनिंग है, जो MSSQL विशिष्ट है देख सकते है।

+0

और उस अच्छी किताब का नाम होगा? – Svish

+0

http://www.amazon.com/Inside-Microsoft-SQL-Server-2005/dp/0735623139/ref=sr_1_1?ie=UTF8&s=books&qid=1242338708&sr=8-1 अंदर Microsoft SQL सर्वर: T-SQL क्वेरी। मुझे कल्पना है कि 2008 एक अब और अधिक उपयुक्त हो सकता है। – Spence

0

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

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

एक अन्य विकल्प एसक्यूएल सर्वर ट्यूनिंग सलाहकार है, लेकिन मैं हतोत्साहित यह फायदा नहीं है, क्योंकि यह इतना शोर उत्पन्न करता है। हालांकि, आप सबसे खराब अपमानजनक प्रश्नों को ढूंढने के लिए इसका उपयोग कर सकते हैं।

0

अपने सबसे खराब प्रदर्शन करने वाले प्रश्नों की पहचान करने के शुरुआती बिंदु के लिए, कृपया मेरा उत्तर here देखें।

सीखना सीखना कुछ ऐसा है जो अभ्यास की आवश्यकता है।आप इसे कुशल हो चाहते हैं, सजल बांध की किताब खरीदने से शुरू SQL Server Query Performance Tuning Distilled

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