के WITH SAMPLE 50 PERCENT
रूप में यह काम करता है, हालांकि तालिका में प्रत्येक डेटा पृष्ठ के लिए SQL सर्वर एक सिक्का फ़्लिप करता है। यदि यह सिर काटता है तो यह पृष्ठ पर सभी पंक्तियों को पढ़ता है। यदि यह भूमि को छूता है तो यह कोई भी नहीं पढ़ता है।
UPDATE STATISTICS T WITH SAMPLE 50 PERCENT
Profiler में कॉल ट्रेस करने से पता चलता है कि निम्नलिखित क्वेरी उत्सर्जित होती है
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
कॉल है एक आंतरिक एकीकृत फ़ंक्शन संक्षेप में यहाँ वर्णित