Làm thế nào để đi sâu vào trình tối ưu hóa của PostgreQuery và theo dõi từng bước cần thiết để tối ưu hóa truy vấn?


8

Giống như cấu trúc MEMO trong SQL Server, đây là một "bước giấy" của các bước mà trình tối ưu hóa thực hiện trong việc tối ưu hóa truy vấn. PostgreSQL có cấu trúc tương tự ghi lại các bước mà trình tối ưu hóa thực hiện không?

Câu trả lời:


3

Không, không có cấu trúc hoặc chức năng báo cáo / kiểm toán tối ưu hóa chi tiết.

Công cụ tốt nhất của bạn là 'gdb'. Không giống như MS SQL Server, PostgreSQL là mã nguồn mở; bạn chỉ có thể xây dựng với các biểu tượng gỡ lỗi được kích hoạt, đính kèm trình gỡ lỗi và theo dõi chính xác những gì nó đang làm.

Điều đó không có nghĩa là nó dễ dàng, tất nhiên. Một tập hợp các điểm dừng và macro gdb đóng hộp để tạo ra dấu vết về những gì trình hoạch định / trình tối ưu hóa đang làm sẽ rất hay. Tôi không biết bất kỳ công cụ như vậy tại thời điểm này.

gdbTracepoints, hoặc perftracepoints không gian người dùng, sẽ rất hữu ích cho bạn.

Bạn cũng có thể kích hoạt ghi nhật ký gỡ lỗi chi tiết và một số tham số theo dõi postgresql.confsau đó kiểm tra các tệp nhật ký chi tiết kết quả.

Có một số tài liệu (mà tôi đã thêm thông tin về việc vứt cây kế hoạch, v.v.) vào Câu hỏi thường gặp của nhà phát triển PostgreQuery: https://wiki.postgresql.org/wiki/Developer_FAQ . Điều này có thể hữu ích. Bạn cũng nên đọc các tài liệu phát triển chính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.