Ben bir acemi DBA ve Microsoft SQL Server deneyimim var ama FLOSS atlamak istiyorum.
Bir şirkete başlıyorum ve bir Postgres arka ucuna sahip bir uygulama (PHP) geliştiriyoruz ve MySQL ile karşılaştırma yapan bazı testler yaptık. MySQL'in PostgreSQL'den iki kat daha hızlı olduğunu gözlemliyoruz.
Somut bir performans testi yaptım:
- Eşdeğer sütun veri türlerine sahip tabloda aynı sütunlar.
- Aynı sayıda satır.
- Her ikisinde de aynı dizinler (birincil anahtar dahil).
- CPU yükü boşta ve Postgres makinesi önemli ölçüde daha iyi.
- Ve aynı sorgu (açıkçası).
Neyi yanlış yapıyorum?
PS: Ben veritabanı motorları için performans ayarlama hakkında birçok "howtos" okudum.
PS (2): MySQL veritabanında InnoDB (tablo başına bir dosya) kullanıyoruz.
Merhaba Mat!
Üç yaygın seçme (ve en zor) sorgu yaptım.
Diskle ilgili soru, kesinlikle aynı değil; Postgres'de bu bir SSD (neredeyse üç kat daha hızlı).
MySQL önbellek verileri:
+------------------------------+----------------------+
| 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 |
+------------------------------+----------------------+
Bunu PostgreSQL'de nasıl görüntüleyeceğimi bilmiyorum.
Şimdiden teşekkürler.
explain analyze
. Okumayı kolaylaştırmak için, açıklamak
postgresql.conf