Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

11.12. Kiểm tra tỷ lệ kèo bóng đá

Mặc dù chỉ tỷ lệ kèo bóng đá trongPostgreSQLKhông cần bảo trì hoặc điều chỉnh, điều quan trọng là phải kiểm tra các chỉ mục nào thực sự được sử dụng bởi khối lượng công việc truy vấn thực tế. Kiểm tra tỷ lệ kèo bóng đá cho một truy vấn riêng lẻ được thực hiện vớiGiải thíchlệnh; Ứng tỷ lệ kèo bóng đá của nó cho mục đích này được minh họa trongPhần 14.1. Cũng có thể thu thập số liệu thống kê tổng thể về việc tỷ lệ kèo bóng đá trong một máy chủ đang chạy, như được mô tả trongPhần 28.2.

Rất khó để xây dựng một quy trình chung để xác định các chỉ tỷ lệ kèo bóng đá nào sẽ tạo. Có một số trường hợp điển hình đã được thể hiện trong các ví dụ trong các phần trước.

  • Luôn chạyPhân tíchĐầu tiên. Lệnh này thu thập số liệu thống kê về phân phối các giá trị trong bảng.Phân tíchDo đó là một nguyên nhân bị mất. Nhìn thấyPhần 25.1.3Phần 25.1.6Để biết thêm thông tin.

  • Sử tỷ lệ kèo bóng đá dữ liệu thực để thử nghiệm. Sử tỷ lệ kèo bóng đá dữ liệu kiểm tra để thiết lập các chỉ mục sẽ cho bạn biết bạn cần chỉ mục nào cho dữ liệu kiểm tra, nhưng đó là tất cả.

    Đặc biệt nghiêm trọng khi sử tỷ lệ kèo bóng đá các bộ dữ liệu thử nghiệm rất nhỏ. Mặc dù chọn 1000 trên 100000 hàng có thể là ứng cử viên cho một chỉ mục, việc chọn 1 trong số 100 hàng sẽ khó có, bởi vì 100 hàng có thể phù hợp trong một trang đĩa duy nhất và không có kế hoạch nào có thể đánh bại liên tục trang 1 đĩa.

    Cũng cẩn thận khi tạo dữ liệu thử nghiệm, thường không thể tránh khỏi khi ứng tỷ lệ kèo bóng đá chưa được sản xuất. Các giá trị rất giống nhau, hoàn toàn ngẫu nhiên hoặc được chèn theo thứ tự được sắp xếp sẽ làm lệch số liệu thống kê ra khỏi phân phối mà dữ liệu thực sẽ có.

  • Khi các chỉ mục không được sử tỷ lệ kèo bóng đá, nó có thể hữu ích để kiểm tra để buộc sử tỷ lệ kèo bóng đá chúng. Có các tham số thời gian chạy có thể tắt các loại kế hoạch khác nhau (xemPhần 20.7.1). Chẳng hạn, tắt quét tuần tự (enable_seqscan) và các vòng lặp lồng nhau (enable_nestloop), là kế hoạch cơ bản nhất, sẽ buộc hệ thống sử tỷ lệ kèo bóng đá một kế hoạch khác. Nếu hệ thống vẫn chọn quét liên tiếp hoặc nối vòng lặp lại thì có lẽ có một lý do cơ bản hơn tại sao chỉ số không được sử tỷ lệ kèo bóng đá;

  • Nếu việc sử dụng chỉ số bắt buộc tỷ lệ kèo bóng đá, thì có hai khả năng: hệ thống là đúng và sử dụng chỉ số thực sự không phù hợp hoặc ước tính chi phí của các kế hoạch truy vấn không phản ánh thực tế. Vì vậy, bạn nên thời gian truy vấn của bạn có và không có chỉ mục.Giải thích Phân tíchlệnh có thể hữu ích ở đây.

  • Nếu hóa ra các ước tính chi phí là sai, một lần nữa, có hai khả năng. Tổng chi phí được tính từ chi phí trên mỗi hàng của mỗi nút kế hoạch nhân ước ước tính chọn lọc của nút kế hoạch.Phần 20.7.2). Ước tính chọn lọc không chính xác là do số liệu thống kê không đủ.Bảng thay đổi).

    Nếu bạn không thành công trong việc điều chỉnh các chi phí để phù hợp hơn, thì bạn có thể phải dùng đến việc sử tỷ lệ kèo bóng đá chỉ số một cách rõ ràng. Bạn cũng có thể muốn liên hệ vớiPostgreSQLnhà phát triển để kiểm tỷ lệ kèo bóng đá vấn đề.

Gửi hiệu tỷ lệ kèo bóng đánh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.