PostgreSQL: kèo chấp bóng đá hôm nay liệu: | |||
---|---|---|---|
prev | UP | Chương 55. Định nghĩa giao diện phương thức truy cập chỉ kèo bóng đá c1 | Tiếp theo |
TheAmcostestimate
Hàm được cung cấp thông tin mô tả việc quét chỉ kèo bóng đá c1 có thể, bao gồm các danh sách nơi và thứ tự của các điều khoản đã được xác định là có thể sử dụng được với chỉ kèo bóng đá c1. Nó phải trả về các ước tính về chi phí truy cập chỉ kèo bóng đá c1 và tính chọn lọc của các mệnh đề (nghĩa là phần của các hàng bảng cha sẽ được truy xuất trong quá trình quét chỉ kèo bóng đá c1). Đối với các trường hợp đơn giản, gần như tất cả các công việc của công cụ ước tính chi phí có thể được thực hiện bằng cách gọi các thói quen tiêu chuẩn trong trình tối ưu hóa; điểm có mộtAmcostestimate
Hàm là cho phép các phương thức truy cập chỉ kèo bóng đá c1 cung cấp kiến thức cụ thể theo kiểu chỉ số, trong trường hợp có thể cải thiện các ước tính tiêu chuẩn.
mỗiAmcostestimate
Hàm phải có chữ ký:
Void Amcostestimate (Root PlannerInfo *, PATHPATH *PATH, Double Loop_Count, kèo bóng đá c1 phí *IndexStartUpCost, kèo bóng đá c1 phí *indextotalcost, Chọn lọc *indexSelectivity, Double *indexCorrelation);
11454_11494
Thông tin của người lập kế hoạch về truy vấn đang được xử lý.
Đường dẫn truy cập chỉ kèo bóng đá c1 đang được xem xét. Tất cả các trường ngoại trừ các giá trị chi phí và chọn lọc đều hợp lệ.
11858_12146loop_countcó nghĩa là có thể phù hợp để cho phép một số hiệu ứng bộ đệm trên nhiều lần quét.
Bốn tham số cuối cùng là đầu ra qua từng tài liệu
Đặt thành chi phí xử lý khởi động chỉ kèo bóng đá c1
Đặt thành tổng chi phí xử lý chỉ kèo bóng đá c1
Đặt thành chỉ kèo bóng đá c1 chọn lọc
Đặt thành hệ số tương quan giữa thứ tự quét chỉ kèo bóng đá c1 và thứ tự của bảng bên dưới
12881_13063
Chi phí truy cập chỉ kèo bóng đá c1 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 bóng đá c1 phí.SEQ_PAGE_COST13282_13317ngẫu nhiên_page_costvà kèo bóng đá c1 phí xử lý một hàng chỉ số thường được coi làCPU_INDEX_TUPE_COST. Ngoài ra, một bội số thích hợp củaCPU_OPERATOR_COSTnên được tính cho bất kỳ toán tử so sánh nào được gọi trong quá trình xử lý chỉ kèo bóng đá c1 (đặc biệt
Chi phí truy cập nên bao gồm tất cả các chi phí đĩa và CPU liên quan đến việc quét chỉ kèo bóng đá c1, nhưngkhôngChi phí truy xuất hoặc xử lý các hàng bảng cha được xác định bởi chỉ kèo bóng đá c1.
The"kèo bóng đá c1 phí khởi nghiệp"là một phần của tổng chi 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ỉ kèo bóng đá c1, điều này có thể được lấy dưới dạng 0, nhưng một loại chỉ kèo bóng đá c1 có chi phí khởi động cao có thể muốn đặt nó khác.
TheindexSelectivitynên được đặt thành phần ước tính của các hàng bảng cha sẽ được truy xuất trong quá trình quét chỉ kèo bóng đá c1. Trong trường hợp truy vấn mất mát, điều này thường sẽ cao hơn tỷ lệ các hàng thực sự vượt qua các điều kiện chất lượng đã cho.
TheindexCorrelationnên được đặt thành mối tương quan (nằm trong khoảng giữa -1.0 và 1.0) giữa thứ tự chỉ kèo bóng đá c1 và thứ tự bảng. Điều này được sử dụng để điều chỉnh ước tính cho chi phí tìm nạp các hàng từ bảng cha.
khiloop_countlớn hơn một, các số được trả về trung bình dự kiến cho bất kỳ một lần quét nào của chỉ kèo bóng đá c1.
Dự toán kèo bóng đá c1 phí
Công cụ ước tính kèo bóng đá c1 phí điển hình sẽ được tiến hành như sau:
Ước tính và trả về phần của các hàng bảng cha mẹ sẽ được truy cập dựa trên các điều kiện chất lượng đã cho. Trong trường hợp không có bất kỳ kiến thức cụ thể loại chỉ kèo bóng đá c1 nào, hãy sử dụng hàm tối ưu hóa tiêu chuẩnclauselist_selectivity ()
:
15351_15565
Ước tính số lượng hàng chỉ kèo bóng đá c1 sẽ được truy cập trong quá trình quét. Đối với nhiều loại chỉ kèo bóng đá c1, điều này giống nhưindexSelectivitynhân số lượng hàng trong chỉ kèo bóng đá c1, nhưng nó có thể nhiều hơn. (Lưu ý rằng kích thước của chỉ kèo bóng đá c1 trong các trang và hàng có sẵn từpath- indexInfostruct.)
Ước tính số lượng trang chỉ kèo bóng đá c1 sẽ được truy xuất trong quá trình quét. Đây có thể chỉ làindexSelectivitylần kích thước của chỉ kèo bóng đá c1 trong các trang.
Tính chi phí truy cập chỉ kèo bóng đá c1. Một công cụ ước tính chung có thể làm điều này:
/* * Giả định chung của chúng tôi là các trang chỉ kèo bóng đá c1 sẽ được đọc * tuần tự, vì vậy chúng có giá seq_page_cost mỗi cái, không phải ngẫu nhiên_page_cost. * Ngoài ra, chúng tôi tính phí để đánh giá các chỉ kèo bóng đá c1 tại mỗi hàng chỉ kèo bóng đá c1. * Tất cả các chi phí được cho là được thanh toán tăng dần trong quá trình quét. */ cost_qual_eval (& index_qual_cost, path- indexquals, root); *indexStartUpCost = index_qual_cost.startup; * indextotalcost = SEQ_PAGE_COST * NUMINDEXPAGES + .
Tuy nhiên, những điều trên không tính đến việc khấu hao các lần đọc chỉ kèo bóng đá c1 trên các lần quét chỉ kèo bóng đá c1 lặp lại.
16920_17125
Ví dụ về các chức năng của công cụ ước tính kèo bóng đá c1 phí có thể được tìm thấy trongsrc/backend/utils/adt/selfuncs.c.