में एरैटिक अनुक्रमित क्वेरी प्रदर्शन PostgreSQL में किसी क्वेरी के प्रदर्शन के संबंध में सहायता चाहिए। ऐसा लगता है कि इंडेक्स से संबंधित है।PostgreSQL
इस क्वेरी:
SELECT * FROM the_table WHERE type = 'some_type' ORDER BY timestamp LIMIT 20
इंडेक्स:
CREATE INDEX the_table_timestamp_index ON the_table(timestamp);
CREATE INDEX the_table_type_index ON the_table(type);
द्वारा
type
- फिल्टर
type
फ़ील्ड के मान केवल 11 अलग-अलग तारों में से एक हैं।
समस्या यह है कि क्वेरी O (लॉग n) समय में निष्पादित प्रतीत होती है,type
के कुछ मानों को छोड़कर, केवल कुछ मिलीसेकंड लेते समय, जो कई मिनटों को चलाने के क्रम में लेते हैं।इन उदाहरण प्रश्नों में प्रथम, द्वितीय 30 से अधिक मिनट लगते हैं, जबकि चलाने के लिए केवल कुछ ही मिलीसेकेंड लेता है:
SELECT * FROM the_table WHERE type = 'goq' ORDER BY timestamp LIMIT 20 SELECT * FROM the_table WHERE type = 'csp' ORDER BY timestamp LIMIT 20
मैं बारे में 90% निश्चितता के साथ संदेह है, कि अनुक्रमित हमारे पास नहीं हैं सही लोग मुझे लगता है, this similar question about index performance पढ़ने के बाद, सबसे अधिक संभावना है कि हमें एक समग्र इंडेक्स है,
type
औरtimestamp
पर।क्वेरी की योजना बना रही है कि मैं चलाने यहां हैं:
- Expected performance, type-specific index (i.e. new index with the type = 'csq' in the
WHERE
clause)। आपकी मदद के लिए बहुत बहुत - Slowest, problematic case, indexes as described above.
- Fast case, same indexes as above.
धन्यवाद! किसी भी संकेतक वास्तव में सराहना की जाएगी!
- Expected performance, type-specific index (i.e. new index with the type = 'csq' in the
इंडेक्स का आकार क्या है? और डेटासेट का आकार? – Gothmog