मैं एक नौसिखिया डीबीए हूं, और मुझे Microsoft SQL सर्वर में अनुभव है लेकिन मैं FLOSS पर कूदना चाहता हूं।
मैं एक कंपनी शुरू कर रहा हूं, और हम एक पोस्टग्रैड बैकएंड के साथ एक ऐप (PHP) विकसित करते हैं, और हमने कुछ परीक्षण MySQL के साथ भी किए। हम मानते हैं कि MySQL PostgreSQL से दोगुना तेज़ है।
मैंने एक ठोस प्रदर्शन परीक्षण किया:
- समतुल्य स्तंभ डेटाटाइप्स के साथ तालिका में समान कॉलम।
- पंक्तियों की एक ही संख्या।
- दोनों में समान अनुक्रमित (प्राथमिक कुंजी शामिल)।
- सीपीयू लोड बेकार है और पोस्टग्रेज मशीन काफी बेहतर है।
- और वही क्वेरी (स्पष्ट रूप से)।
मैं क्या गलत कर रहा हूं?
पुनश्च: मैंने डेटाबेस इंजनों के प्रदर्शन ट्यूनिंग पर कई "हाउट्सोस" पढ़े।
PS (2): हम MySQL डेटाबेस पर InnoDB (प्रति तालिका एक फ़ाइल) का उपयोग कर रहे हैं।
हाय मैट!
मैंने तीन सामान्य चयन (और सबसे कठिन) प्रश्न किए।
डिस्क के बारे में सवाल, निश्चित रूप से यह समान नहीं है; पोस्टग्रैज में यह एक एसएसडी (लगभग तीन बार सबसे तेज) है।
MySQL कैश डेटा:
+------------------------------+----------------------+
| Variable_name | Value |
+------------------------------+----------------------+
| binlog_cache_size | 32768 |
| have_query_cache | YES |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| max_binlog_cache_size | 18446744073709547520 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 16777216 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| table_definition_cache | 256 |
| table_open_cache | 64 |
| thread_cache_size | 8 |
+------------------------------+----------------------+
मुझे नहीं पता कि PostgreSQL में इसे कैसे देखना है।
अग्रिम में धन्यवाद।
explain analyze
। यह पढ़ने में आसान बनाने के लिए, आप करने के लिए योजना अपलोड कर सकते explain.depesz.com
postgresql.conf