डेटाबेस SQL सर्वर 2017 एंटरप्राइज़ CU16 14.0.3076.1
हमने हाल ही में डिफॉल्ट इंडेक्स रिब्यूटी मेंटेनेंस जॉब्स से ओला हॉलनग्रेन में स्विच करने की कोशिश की IndexOptimize
। डिफ़ॉल्ट सूचकांक पुनर्निर्माण नौकरियां बिना किसी मुद्दे के कुछ महीनों से चल रही थीं, और क्वेरी और अपडेट स्वीकार्य निष्पादन समय के साथ काम कर रहे थे। IndexOptimize
डेटाबेस पर चलने के बाद :
EXECUTE dbo.IndexOptimize
@Databases = 'USER_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'
प्रदर्शन बेहद खराब था। एक अपडेट स्टेटमेंट जिसने पहले IndexOptimize
100.000 लिया था बाद में 78.000ms (एक समान योजना का उपयोग करके) लिया, और प्रश्न भी परिमाण के कई आदेशों को खराब कर रहे थे।
चूंकि यह अभी भी एक परीक्षण डेटाबेस है (हम ओरेकल से एक उत्पादन प्रणाली को स्थानांतरित कर रहे हैं) हम एक बैकअप और अक्षम पर IndexOptimize
वापस लौट आए और सब कुछ सामान्य पर लौट आया।
हालांकि, हम यह समझना चाहते हैं कि IndexOptimize
"सामान्य" से अलग क्या होता है Index Rebuild
जो इस चरम प्रदर्शन में गिरावट का कारण बन सकता है ताकि हम उत्पादन में जाने से पहले इसे टाल सकें। क्या देखने के लिए कोई सुझाव बहुत सराहना की जाएगी।
धीमी गति से होने पर अपडेट स्टेटमेंट के लिए निष्पादन योजना। यानी
IndexOptimize के बाद
वास्तविक कार्य योजना लागू करके (asap आ रहा है)
मैं एक अंतर हाजिर नहीं कर पाया।
तेज़ क्वेरी के लिए उसी योजना की योजना बनाएँ जब वह
वास्तविक निष्पादन योजना हो