SQL सर्वर में PAGEIOLATCH_SH प्रतीक्षा प्रकार क्या है?


96

मेरे पास एक क्वेरी है जो लेनदेन के बीच में एक लंबा समय ले रही है। जब मैं wait_typeइस प्रक्रिया की हो PAGEIOLATCH_SH

इस प्रतीक्षा प्रकार का क्या अर्थ है और इसे कैसे हल किया जा सकता है?

जवाबों:


116

से माइक्रोसॉफ्ट प्रलेखन :

PAGEIOLATCH_SH

तब होता है जब कोई कार्य एक I/Oअनुरोध पर है कि एक बफर के लिए एक कुंडी पर इंतजार कर रहा है । कुंडी अनुरोध साझा मोड में है। लंबी प्रतीक्षा डिस्क सबसिस्टम के साथ समस्याओं का संकेत दे सकती है।

व्यवहार में, यह लगभग हमेशा बड़े तालिकाओं पर बड़े स्कैन के कारण होता है। यह उन प्रश्नों में लगभग कभी नहीं होता है जो कुशलता से अनुक्रमित करते हैं।

यदि आपकी क्वेरी इस प्रकार है:

Select * from <table> where <col1> = <value> order by <PrimaryKey>

जाँच करें कि आपके पास एक समग्र सूचकांक है (col1, col_primary_key)

यदि आपके पास एक नहीं है, तो आपको चुने जाने पर या INDEX SCANतो पूर्ण की आवश्यकता होगी PRIMARY KEY, या SORTयदि कोई सूचकांक col1चुना गया है।

वे दोनों I/Oबड़े तालिकाओं पर बहुत डिस्क खपत वाले ऑपरेशन हैं।


यह एक वास्तविक सरल क्वेरी है। <Table> जहां <col1> = <value> ऑर्डर से <PrimaryKey> का चयन करें। हमारे पास सिर्फ col1 पर एक सूचकांक है और इसने सूचकांक के पुनर्निर्माण की कोशिश की है।
रयान

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

1
@GregB: यदि आपके पास पहले से ही SQL का बेसिक ज्ञान है, तो आप जो सेल्को की किताबें पढ़ सकते हैं (उन सभी को लेकिन विशेष रूप से SQL for Smartiesऔर Thinking in Sets) और मेरे ब्लॉग का पाठ्यक्रम :)
क्वासोनि

3
इसने हमारे डिस्क सबसिस्टम में एक त्रुटि का संकेत दिया। एक RAID डिस्क मॉनिटरिंग सिस्टम को ट्रिगर किए बिना विफल हो गया था। इवेंट लॉग की जाँच में पाया गया कि SMART ने वास्तव में ड्राइव को खराब के रूप में चिह्नित किया है।
गोमिबुशी

7

PAGEIOLATCH_SH प्रतीक्षा प्रकार आमतौर पर खंडित या अडॉप्ट किए गए इंडेक्स के परिणाम के रूप में सामने आता है।

अक्सर अत्यधिक PAGEIOLATCH_SHप्रतीक्षा प्रकार के कारण हैं:

  • I / O सबसिस्टम में एक समस्या है या यह गलत है
  • अन्य प्रक्रियाओं द्वारा ओवरलोडेड I / O सबसिस्टम जो कि उच्च I / O गतिविधि का उत्पादन कर रहे हैं
  • खराब सूचकांक प्रबंधन
  • तार्किक या भौतिक ड्राइव गलत धारणा
  • नेटवर्क मुद्दों / विलंबता
  • याददाश्त का दबाव
  • सिंक्रोनस मिररिंग और ऑल्वेज़ऑन एजी

उच्च PAGEIOLATCH_SHप्रतीक्षा प्रकार रखने के लिए प्रयास करने और हल करने के लिए , आप देख सकते हैं:

  • SQL सर्वर, क्वेरीज़ और इंडेक्स, बहुत बार यह अत्यधिक PAGEIOLATCH_SHप्रतीक्षा प्रकारों के मूल कारण के रूप में पाया जा सकता है
  • स्मृति दबाव के लिए किसी भी I / O सबसिस्टम समस्या निवारण में कूदने से पहले

हमेशा ध्यान रखें कि ऑल्वेज़ एजी में उच्च सुरक्षा मिररिंग या सिंक्रोनस-कम उपलब्धता के मामले में, वृद्धि / अत्यधिक की PAGEIOLATCH_SHउम्मीद की जा सकती है।

आप SQL सर्वर PAGEIOLATCH_SH प्रतीक्षा प्रकारों को अत्यधिक प्रबंधित करने वाले लेख में इस विषय के बारे में अधिक जानकारी प्राप्त कर सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.