2009-10-15 5 views
9

क्या SQL Server 2005/2008 पर तालिका पढ़ने और लिखने की गिनती पर आंकड़े खोजने का कोई तरीका है?SQL सर्वर तालिका के पढ़ने/लिखने के आंकड़े कैसे खोजें?

मैं विशेष रूप से DMVs/DMFs ट्रिगर या ऑडिट का उपयोग किए बिना देख रहा हूं।

लक्ष्य यहाँ अनुक्रमित के लिए उचित भरण कारक पता लगाने के लिए है - इस लेख (Fill Factor Defined) से एक विचार आया।


[अद्यतन] ServerFault
How to determine Read/Write intensive table from DMV/DMF statistics

+0

वर्तमान प्रश्न में लिंक वायरस होने के लिए रीडायरेक्ट करता है। –

उत्तर

8

याद रखें 'टेबल' का मतलब क्लस्टर सूचकांक या 'ढेर' है।

+0

@ रीमस: कुछ जांच के बाद, ऊपर उल्लिखित डीएमवी/डीएमएफ का संयोजन मुझे यह पता लगाने के लिए आवश्यक था कि फैक्टर मूल्यों को भरने के लिए क्या किया जाए। मैं बाद में एक फॉलो अप प्रश्न पूछूंगा कि क्या मैं सही के साथ आया हूं या नहीं। धन्यवाद, रीमस। – Sung

3

किसी तालिका के इंडेक्स के लिए उपयुक्त भरने का कारक निर्धारित करने के लिए, आपको पृष्ठ विभाजनों की संख्या को देखने की आवश्यकता है। यह sys.dm_db_index_operational_stats में दिखाया गया है:

पत्ता आवंटन गिनती: सूचकांक के पत्ते के स्तर पर पृष्ठ विभाजन की कुल संख्या।

Nonleaf आवंटन गिनती: सूचकांक के पत्ते के स्तर से ऊपर पृष्ठ विभाजन की कुल संख्या।

पत्ता पृष्ठ विलय गिनती: पृष्ठ की कुल संख्या इंडेक्स के पत्ते के स्तर पर विलीन हो जाती है।

खुदाई करने के बाद, मैंने कुछ पोस्ट देखी हैं जो कहते हैं कि डीएमवी से पृष्ठ विभाजित संख्याएं उपयोगी नहीं हैं (मैंने व्यक्तिगत रूप से इसकी पुष्टि नहीं की है), लेकिन एक प्रदर्शन काउंटर "पृष्ठ भी है विभाजन/सेक "(लेकिन यह केवल SQL सर्वर आवृत्ति स्तर पर है)।

मैं अंगूठे के नियम का उपयोग करता हूं कि सामान्य सारणी डिफ़ॉल्ट 90% भरने वाले कारक का उपयोग करती हैं, 70 - 85% (पंक्ति आकार के आधार पर) के बीच कहीं अधिक सम्मिलित तालिकाएं। केवल टेबल पढ़ें 100%

+0

@ मिच: मुझे देखने दें कि "डीएमवी से पृष्ठ विभाजित संख्याएं उपयोगी नहीं हैं" कुछ पत्ते/गैर पत्ती आवंटन गिनती के साथ कुछ भारी अद्यतन तालिकाओं पर भरने के कारक को अपडेट करने के बाद और उस मुद्दे पर आपको वापस मिलें। मेरे लिए यह इंगित करने के लिए धन्यवाद। – Sung

17

डेटाबेस के सभी तालिकाओं पर पढ़ने और लिखने की संख्या खोजने के लिए निम्नलिखित क्वेरी का उपयोग किया जा सकता है। यह क्वेरी परिणाम CSV फ़ाइल में निर्यात किया जा सकता है और फिर एक्सेल सूत्रों का उपयोग करके आप आसानी से पढ़ने/लिखने के अनुपात की गणना कर सकते हैं। बहुत उपयोगी है, जबकि एक मेज पर अनुक्रमित की योजना बना

DECLARE @dbid int 
SELECT @dbid = db_id('database_name') 

SELECT TableName = object_name(s.object_id), 
     Reads = SUM(user_seeks + user_scans + user_lookups), Writes = SUM(user_updates) 
FROM sys.dm_db_index_usage_stats AS s 
INNER JOIN sys.indexes AS i 
ON s.object_id = i.object_id 
AND i.index_id = s.index_id 
WHERE objectproperty(s.object_id,'IsUserTable') = 1 
AND s.database_id = @dbid 
GROUP BY object_name(s.object_id) 
ORDER BY writes DESC 
+0

क्या हमारे पास डेट फ़िल्टर हो सकता है? –

+0

नहीं, हमारे पास डेट फ़िल्टर नहीं हो सकता है @ फिलिप मॉरिस –

1

आप एक अच्छे संकुल अनुक्रमणिका (यानी, बढ़ती, अद्वितीय, संकीर्ण) तो भरण फैक्टर के लिए असली निर्धारित करने के मुद्दों कैसे तालिका अद्यतन किया जाता है कर रहे हैं और डेटा प्रकार है, तो कॉलम का यदि कॉलम सभी निश्चित आकार (उदा।, पूर्णांक, दशमलव, फ़्लोट, चार) और गैर-शून्य नहीं हैं तो एक अद्यतन पंक्ति के लिए आवश्यक संग्रहण को बढ़ा नहीं सकता है।अच्छी क्लस्टरेड इंडेक्स को देखते हुए आपको पेज स्प्लिट नहीं होने के बाद से 90+ तक भरने वाला फ़ैक्टर चुनना चाहिए। यदि आपके पास कुछ परिवर्तनीय लंबाई कॉलम हैं (उदाहरण के लिए उपयोगकर्ता नाम धारण करने के लिए एक वर्चर) और स्तंभों को कभी-कभी सम्मिलित करने के बाद अद्यतन किया जाता है तो आप अभी भी अपेक्षाकृत उच्च भरने वाले फैक्टर को रख सकते हैं। यदि आपके पास डेटा है जो लंबाई में अत्यधिक परिवर्तनीय है (उदा।, यूएनसी पथ, टिप्पणी फ़ील्ड, एक्सएमएल) तो भरने वाले फैक्टर को कम किया जाना चाहिए। विशेष रूप से यदि कॉलम बार-बार अपडेट होते हैं और बढ़ते हैं (टिप्पणी कॉलम की तरह)। गैर-क्लस्टर इंडेक्स आम तौर पर समान होते हैं सिवाय इसके कि इंडेक्स कुंजी अधिक समस्याग्रस्त हो सकती है (गैर अद्वितीय, शायद कभी नहीं बढ़ती)। मुझे लगता है कि sys.dm_db_index_physical_stats इसके लिए सर्वश्रेष्ठ मीट्रिक देता है लेकिन यह तथ्य के बाद है। इंडेक्स स्पेस का उपयोग कैसे किया जा रहा है इसकी एक तस्वीर प्राप्त करने के लिए औसत/औसत/अधिकतम रिकॉर्ड आकार, औसत खंड आकार, औसत पृष्ठ स्थान देखें। एचटीएच।

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