2013-02-22 115 views
12

में आंकड़े लक्ष्य जांचें मैंने खोज की है लेकिन इस के लिए कोई आसान, सीधे आगे जवाब खोजने में असमर्थ रहा है। मैं ANALYZE द्वारा उपयोग किए गए वर्तमान आंकड़े लक्ष्य कैसे देखूं?PostgreSQL

+0

सुनिश्चित नहीं हैं कि क्यों PostgreSQL टैग जोड़ा गया था ... मैंने सोचा कि यह PostgreSQL-9.2 टैग से गर्भित किया गया था। – jpmc26

+1

ऐसा करने के लिए यह सामान्य प्रथा है, इसलिए पोस्टग्रेएसक्यूएल टैग [पोस्टग्रेएसक्यूएल] टैग के तहत सूचीबद्ध है। –

+1

खोज के लिए, दूसरे शब्दों में: आंकड़े कैसे प्राप्त करें या आंकड़े लक्ष्य कैसे दिखाएं। –

उत्तर

17

आंकड़े लक्ष्य के लिए सेटिंग कैटलॉग तालिका pg_attribute में प्रति कॉलम संग्रहीत की जाती है। आप इसे इस तरह सेट कर सकते हैं:

ALTER TABLE myschama.mytable ALTER mycolumn SET STATISTICS 127; 

और इस तरह यह जाँच:

SELECT attstattarget 
FROM pg_attribute 
WHERE attrelid = 'myschama.mytable'::regclass 
AND attname = 'mycolumn'; 

या फिर आप pgAdmin, जहां यह जोड़ा जाता है की वस्तु ब्राउज़र में निर्माण स्क्रिप्ट को देखो, तो मूल्य है default_statistics_target में डिफ़ॉल्ट से अलग।

मैं attstattarget पर मैनुअल बोली:

attstattarget विश्लेषण से इस स्तंभ के लिए संचित आँकड़ों के विस्तार के स्तर को नियंत्रित करता है। एक शून्य मान इंगित करता है कि कोई आंकड़े एकत्र नहीं किया जाना चाहिए। नकारात्मक मान सिस्टम डिफ़ॉल्ट आंकड़े लक्ष्य का उपयोग करने के लिए कहता है। सकारात्मक मूल्यों का सटीक अर्थ डेटा प्रकार-निर्भर है। स्केलर डेटा प्रकारों के लिए, attstattarget एकत्र करने के लिए "सबसे आम मान" की लक्षित संख्या और लक्ष्य बनाने के लिए हिस्टोग्राम डिब्बे की संख्या दोनों है।

बोल्ड जोर मेरा है।

+0

हाँ। मुझे आपके द्वारा लिंक किए गए दस्तावेज को देखने के लिए जाना चाहिए था। माफ़ कीजिये; मैंने अपनी टिप्पणी हटा दी क्योंकि मैंने इसे पूछने के तुरंत बाद वहां पाया। इस सवाल के मुताबिक, मेरी कुछ खोजों का सुझाव है कि सूचकांक के लिए कुछ अलग आंकड़े हो सकते हैं। कुछ भी तुरंत स्पष्ट नहीं है कि मुझे देखना चाहिए? और बहुत बहुत धन्यवाद। – jpmc26

+0

@ jpmc26: मैंने कभी इंडेक्स कॉलम के लिए स्पष्ट आंकड़े लक्ष्य का उपयोग नहीं किया है, इसलिए मुझे इसके साथ कोई अनुभव नहीं है। अब तक मैंने केवल टेबल कॉलम के आंकड़ों को ट्यून करने के लिए इसका इस्तेमाल किया है। –

1

यह वर्तमान आंकड़ों का एक क्लीनर दृश्य प्रदान करता है एकत्र किया जा रहा

SELECT attrelid::regclass, attname, attstattarget FROM pg_attribute WHERE attstattarget >= 0 order by attstattarget desc;