Tôi là người mới chơi DBA và tôi có kinh nghiệm về Microsoft SQL Server nhưng tôi muốn chuyển sang FLOSS.
Tôi đang thành lập một công ty và chúng tôi phát triển một ứng dụng (PHP) với phần phụ trợ Postgres và chúng tôi cũng đã thực hiện một số thử nghiệm so với MySQL. Chúng tôi quan sát rằng MySQL nhanh gấp đôi PostgreSQL.
Tôi đã làm một bài kiểm tra hiệu suất hữu hình:
- Các cột giống nhau trong bảng với các kiểu dữ liệu cột tương đương.
- Cùng số lượng hàng.
- Cùng một chỉ mục trong cả hai (bao gồm khóa chính).
- Tải CPU không hoạt động và máy Postgres tốt hơn đáng kể.
- Và cùng một truy vấn (rõ ràng).
Tôi đang làm gì sai?
PS: Tôi đã đọc nhiều "howtos" về điều chỉnh hiệu năng cho các công cụ cơ sở dữ liệu.
PS (2): Chúng tôi đang sử dụng InnoDB (một tệp trên mỗi bảng) trên cơ sở dữ liệu MySQL.
Chào Mat!
Tôi đã thực hiện ba truy vấn chọn phổ biến (và khó nhất).
Câu hỏi về đĩa, chắc chắn nó không giống nhau; Trong Postgres, đó là ổ SSD (nhanh nhất gần ba lần).
Dữ liệu bộ đệm của 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 |
+------------------------------+----------------------+
Tôi không biết làm thế nào để xem điều này trong PostgreSQL.
Cảm ơn trước.
explain analyze
. Để dễ đọc hơn, bạn có thể tải lên kế hoạch để giải
postgresql.conf