2010-05-06 13 views
5

हमारे पास एक इतिहास तालिका है जो एक्सएमएल वेब सेवा अनुरोधों और प्रतिक्रियाओं को संग्रहित करती है। वर्तमान में यह उन्हें एक एक्सएमएल फ़ील्ड में संग्रहीत करता है, लेकिन हमारे पास आवेषण के साथ प्रदर्शन समस्याएं हैं। हम केवल रिकॉर्ड, कोई अपडेट, चयन या हटाते हैं। हमने टेबल काट दिया है और इंडेक्स का पुनर्निर्माण नहीं किया है, इसका कोई फायदा नहीं हुआ है। तालिका में पहचान फ़ील्ड पर प्राथमिक क्लस्टर्ड इंडेक्स है, और एक डिफ़ॉल्ट मान, GetDate(), डेटाटाइम फ़ील्ड पर है। हम SQL 2005 सर्वर चला रहे हैं, लेकिन डेटाबेस SQL ​​2000 संगतता मोड में है।जो तेजी से, एक्सएमएल फ़ील्ड या वर्चर (अधिकतम) फ़ील्ड डालें?

यदि हम फ़ील्ड प्रकार को एक्सएमएल से वरकर (अधिकतम) या वरचर (xxx) में बदलते हैं, तो क्या यह आवेषण को गति देगा? क्या हमें कुछ और देखना चाहिए?

धन्यवाद।

+0

मुझे यह भी पता नहीं था कि आप SQL सर्वर 2000 संगतता मोड में किसी डेटाबेस में XML डेटा प्रकार का उपयोग कर सकते हैं? – Tomalak

उत्तर

3

वर्कर तेज है - कोई पार्सिंग आवश्यक नहीं है। एक्सएमएल डेटा प्रकार कुछ सुंदर भारी भारोत्तोलन करता है।

+1

दूसरी तरफ, एक्सएमएल कॉलम में एक्सएमएल दस्तावेज़ संग्रहीत करने से कम जगह मिलती है - एक्सएमएल को स्टोरेज के लिए अनुकूलित किया जाता है। –

+1

जो, हालांकि, सवाल नहीं था;) – TomTom

6

यह निर्भर करता है कि प्रदर्शन समस्या क्या है।

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

तो, सभी प्रदर्शन समस्याओं के साथ, सिफारिश पहले मापने और बाद में कटौती करने के लिए है। अनुशंसित दृष्टिकोण Waits and Queues जैसे एक अच्छी तरह से परीक्षण और सिद्ध प्रदर्शन जांच पद्धति को लागू करना है। अनुमान आपको कहीं भी तेजी से नहीं ले जाएगा।

+0

पूरी तरह से जवाब के लिए धन्यवाद! यहां मुझे पता है कि: सीपीयू नहीं, आईओ एक विचार है, एक्सएमएल टुकड़े छोटे हैं, कोई पढ़ा नहीं जाता है, इसलिए कोई पढ़ा नहीं गया, कोई लॉक नहीं, लच विवाद, कोई लॉग फ्लश समस्या नहीं है। सौभाग्य से यह एक "अच्छा है" लॉग है, इसलिए हमने इसे अक्षम कर दिया है और क्यूए में ऑफ़लाइन को संबोधित करेंगे जहां हम निगरानी और परीक्षण कर सकते हैं। – Jim

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