PostgreSQL: soi kèo bóng đá truoctran | |||
---|---|---|---|
prev | UP | Chương 11. Chỉ kèo bóng đá c1 | Tiếp theo |
Mặc dù chỉ kèo bóng đá c1 trong10394_10406Khô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 kèo bóng đá c1 cho một truy vấn riêng lẻ được thực hiện vớiGiải thíchlệnh; Ứng kèo bóng đá c1 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 kèo bóng đá c1 trong một máy chủ đang chạy, như được mô tả trongPhần 27.2.
Rất khó để xây dựng một quy trình chung để xác định các chỉ kèo bóng đá c1 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 23.1.3vàPhần 23.1.6Để biết thêm thông tin.
Sử kèo bóng đá c1 dữ liệu thực để thử nghiệm. Sử kèo bóng đá c1 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ử kèo bóng đá c1 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 kèo bóng đá c1 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ử kèo bóng đá c1, nó có thể hữu ích để kiểm tra để buộc sử kèo bóng đá c1 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 18.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ử kèo bóng đá c1 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ử kèo bóng đá c1;
Nếu việc kèo bóng đá c1 buộc kèo bóng đá c1, thì có hai khả năng: hệ thống là đúng và kèo bóng đá c1 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 18.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ử kèo bóng đá c1 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 kèo bóng đá c1 vấn đề.