Saya seorang pemula DBA, dan saya memiliki pengalaman dalam Microsoft SQL Server tetapi saya ingin melompat ke FLOSS.
Saya memulai sebuah perusahaan, dan kami mengembangkan aplikasi (PHP) dengan backend Postgres, dan kami melakukan beberapa pengujian membandingkan dengan MySQL juga. Kami mengamati bahwa MySQL dua kali lebih cepat dari PostgreSQL.
Saya melakukan tes kinerja nyata:
- Kolom yang sama dalam tabel dengan tipe data kolom yang setara.
- Jumlah baris yang sama.
- Indeks yang sama di keduanya (kunci utama disertakan).
- Beban CPU idle dan mesin Postgres jauh lebih baik.
- Dan permintaan yang sama (jelas).
Apa yang saya lakukan salah?
PS: Saya membaca banyak "howtos" pada tuning kinerja untuk mesin database.
PS (2): Kami menggunakan InnoDB (satu file per tabel) pada database MySQL.
Hai Mat!
Saya melakukan tiga pertanyaan pilih (dan paling sulit) yang umum.
Pertanyaan tentang disk, tentu saja tidak sama; Di Postgres, ini adalah SSD (hampir tiga kali tercepat).
Data cache 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 |
+------------------------------+----------------------+
Saya tidak tahu cara melihatnya di PostgreSQL.
Terima kasih sebelumnya.
explain analyze
. Untuk membuatnya lebih mudah dibaca, Anda dapat mengunggah paket tersebut untuk menjelaskan.depesz.com
postgresql.conf