आँकड़ों को अद्यतन करते समय नमूना कैसे काम करता है?


10

मेरे पास कई बड़े टेबल हैं। मैं यह सुनिश्चित करना चाहूंगा कि उनके आंकड़े साप्ताहिक रखरखाव योजना के माध्यम से अद्यतित हों।

हालाँकि, ऐसा करने में बहुत अधिक समय लग रहा है।

अगर मैं निर्दिष्ट करता

WITH SAMPLE 50 PERCENT

SQL सर्वर फिर नमूना:

  1. पहले 50% पृष्ठ
  2. हर दूसरे पेज पर
  3. या कुछ और रणनीति?

इस पर BOL स्पष्ट नहीं है।

जवाबों:


16

के WITH SAMPLE 50 PERCENTरूप में यह काम करता है, हालांकि तालिका में प्रत्येक डेटा पृष्ठ के लिए SQL सर्वर एक सिक्का फ़्लिप करता है। यदि यह सिर काटता है तो यह पृष्ठ पर सभी पंक्तियों को पढ़ता है। यदि यह भूमि को छूता है तो यह कोई भी नहीं पढ़ता है।

UPDATE STATISTICS T WITH SAMPLE 50 PERCENTProfiler में कॉल ट्रेस करने से पता चलता है कि निम्नलिखित क्वेरी उत्सर्जित होती है

SELECT StatMan([SC0], [SB0000])
FROM   (SELECT TOP 100 PERCENT [SC0],
                               step_direction([SC0]) OVER (ORDER BY NULL) AS [SB0000]
        FROM   (SELECT [C] AS [SC0]
                FROM   [dbo].[T] TABLESAMPLE SYSTEM (5.000000e+001 PERCENT) 
                WITH (READUNCOMMITTED)) AS _MS_UPDSTATS_TBL_HELPER
        ORDER  BY [SC0],
                  [SB0000]) AS _MS_UPDSTATS_TBL
OPTION (MAXDOP 1) 

प्लान के साथ

यहाँ छवि विवरण दर्ज करें

TABLESAMPLE SYSTEM (5.000000e+001 PERCENT)नमूने के लिए जिम्मेदार है और यहाँ प्रलेखित है

TABLESAMPLE SYSTEMपंक्तियों का अनुमानित प्रतिशत लौटाता है और तालिका में प्रत्येक भौतिक 8-केबी पृष्ठ के लिए एक यादृच्छिक मान उत्पन्न करता है। पृष्ठ के लिए यादृच्छिक मूल्य और क्वेरी में निर्दिष्ट प्रतिशत के आधार पर, एक पृष्ठ या तो नमूने में शामिल है या बाहर रखा गया है। प्रत्येक पृष्ठ जिसमें शामिल है, नमूना परिणाम सेट में सभी पंक्तियों को लौटाता है।

दस्तावेज में यह भी कहा गया है

हालाँकि योजना यह दर्शाती है कि टेबल स्कैन किया जाता है, केवल उन पृष्ठों को जो परिणाम सेट में शामिल हैं, वास्तव में डेटा फ़ाइल से पढ़ने की आवश्यकता होती है।

STATMANकॉल है एक आंतरिक एकीकृत फ़ंक्शन संक्षेप में यहाँ वर्णित

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