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
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

49.6. Ước kèo chấp bóng đá hôm nay phí chỉ số Chức năng

10432_11061

11070_11125

Void
Amcostestimate (Root PlannerInfo *,
                IndexoptInfo *index,
                Danh sách *Indexquals,
                Reloptinfo *outer_rel,
                kèo chấp bóng đá hôm nay phí *IndexStartUpCost,
                kèo chấp bóng đá hôm nay phí *indextotalcost,
                Chọn lọc *indexSelectivity,
                Double *indexCorrelation);

Bốn tham số đầu tiên là đầu vào:

root

Thông tin của người lập kế hoạch về việc truy vấn đã xử lý.

index

Chỉ kèo chấp bóng đá hôm nay đang được xem xét.

indexquals

Danh sách các điều khoản của INDEX Qualauses (ngầm Anded); một số Danh sách cho thấy không có vòng loại nào có sẵn. Lưu ý rằng Danh sách chứa các cây biểu thức, không phải máy quét.

Outer_rel

Nếu chỉ mục được xem xét sử dụng trong một tham gia bên trong IndexScan, thông tin của người lập kế hoạch về phía bên ngoài của sự tham gia. Nếu không thì không. Khi không null, một số các điều khoản của Qualauses sẽ tham gia các điều khoản với REL này chứ không phải là điều khoản hạn chế đơn giản. Ngoài ra, công cụ ước kèo chấp bóng đá hôm nay phí nên mong đợi rằng quét chỉ mục sẽ được lặp lại cho mỗi hàng của rel.

Bốn tham số cuối cùng là đầu ra qua từng tài liệu:

*indexStartUpCost

Đặt thành kèo chấp bóng đá hôm nay phí xử lý khởi động chỉ mục

*IndextotalCost

Đặt thành tổng kèo chấp bóng đá hôm nay phí xử lý chỉ mục

*IndexSelectivity

Đặt thành chỉ kèo chấp bóng đá hôm nay chọn lọc

*IndexCorrelation

Đặt thành hệ số tương quan giữa thứ tự quét chỉ kèo chấp bóng đá hôm nay và đơn đặt hàng của bảng bên dưới

Lưu ý rằng các chức năng ước kèo chấp bóng đá hôm nay phí phải được viết bằng C, không phải trong SQL hoặc bất kỳ ngôn ngữ tố tụng có sẵn nào, bởi vì chúng phải Truy cập cấu trúc dữ liệu nội bộ của trình lập kế hoạch/tối ưu hóa.

kèo chấp bóng đá hôm nay phí truy cập chỉ mục phải được tính toán bằng cách sử dụng các tham số Được sử dụng bởiSRC/phụ trợ/tối ưu hóa/đường dẫn/kèo chấp bóng đá hôm nay phí.13479_13524SEQ_PAGE_COST, Một lần tìm nạp không có giá trịngẫu nhiên_page_costvà kèo chấp bóng đá hôm nay phí của Xử lý một hàng chỉ mục thường được coi làcpu_index_tuple_cost. Ngoài ra, một bội số củaCPU_OPERATOR_COSTnên được được kèo chấp bóng đá hôm nay cho bất kỳ toán tử so sánh nào được gọi trong khi chỉ mục Xử lý (đặc biệt là đánh giá các chỉ mục chính họ).

kèo chấp bóng đá hôm nay phí truy cập nên bao gồm tất cả các kèo chấp bóng đá hôm nay phí đĩa và CPU được liên kết với việc quét chỉ mục, nhưngkhôngkèo chấp bóng đá hôm nay phí truy xuất hoặc xử lý các hàng bảng cha được xác định bởi chỉ mục.

The"kèo chấp bóng đá hôm nay phí khởi nghiệp"là một phần của tổng kèo chấp bóng đá hôm nay phí quét phải được sử dụng trước khi chúng ta có thể bắt đầu Tìm nạp hàng đầu tiên. Đối với hầu hết các chỉ mục, điều này có thể được coi là 0, Nhưng một loại chỉ mục với kèo chấp bóng đá hôm nay phí khởi động cao có thể muốn đặt nó khác không.

SymportSelectity phải được đặt thành phân số ước kèo chấp bóng đá hôm nay của các hàng bảng cha sẽ được truy xuất trong chỉ mục quét. Trong trường hợp chỉ số mất, điều này thường sẽ cao hơn hơn một phần của các hàng thực sự vượt qua chất lượng đã cho điều kiện.

Chỉ mục nên được đặt thành mối tương quan (phạm vi giữa -1.0 đến 1.0) giữa thứ tự chỉ mục và bảng đặt hàng. Điều này được sử dụng để điều chỉnh ước tính cho kèo chấp bóng đá hôm nay phí của tìm nạp các hàng từ bảng cha.

Trong trường hợp tham gia, các số được trả về phải là trung bình mong đợi cho bất kỳ một lần quét chỉ kèo chấp bóng đá hôm nay.

Dự toán kèo chấp bóng đá hôm nay phí

Công cụ ước kèo chấp bóng đá hôm nay phí điển hình sẽ được tiến hành như sau:

  1. 15342_15568clauselist_selectivity ():

    *IndexSelectivity = Clauselist_Selectivity (root, indexquals,
                                               index- ​​rel- relid, tham gia_inner);
  2. Ước kèo chấp bóng đá hôm nay số lượng hàng chỉ mục sẽ được truy cập Trong quá trình quét. Đối với nhiều loại chỉ mục, điều này giống như indexSelectivity thời gian số lượng hàng trong chỉ mục, nhưng Nó có thể là nhiều hơn. (Lưu ý rằng kích thước của chỉ mục trong các trang và Hàng có sẵn từ struct indexoptInfo.)

  3. Ước kèo chấp bóng đá hôm nay số lượng trang chỉ mục sẽ Truy cập trong quá trình quét. Đây có thể chỉ là IndexSelectivity thời gian kích thước của chỉ mục trong các trang.

  4. kèo chấp bóng đá hôm nay phí truy cập chỉ mục. Một công cụ ước tính chung có thể Làm điều này:

    16560_17105

    Tuy nhiên, những điều trên không kèo chấp bóng đá hôm nay đến việc khấu hao Chỉ mục đọc qua các lần quét chỉ mục lặp lại trong tham gia trường hợp.

  5. Ước kèo chấp bóng đá hôm nay mối tương quan chỉ số. Cho một đơn đặt hàng đơn giản chỉ mục trên một trường duy nhất, điều này có thể được lấy từ pg_statistic. Nếu mối tương quan không được biết đến, Ước kèo chấp bóng đá hôm nay bảo thủ bằng không (không có mối tương quan).

Ví dụ về các chức năng của công cụ ước kèo chấp bóng đá hôm nay phí có thể được tìm thấy trong.