Postgresql 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 54. INDEX Định nghĩa giao diện phương thức truy cập | NEXT |
TheAmcostestimate
10359_10861Amcostestimate
Hàm là cho phép truy cập chỉ mục
các phương pháp để cung cấp kiến thức cụ thể theo kiểu chỉ số, trong trường hợp nó là
có thể cải thiện các ước kèo bóng đá cúp c2 tiêu chuẩn.
mỗi11085_11101
Hàm phải
Có chữ ký:
Void Amcostestimate (Root PlannerInfo *, PATHPATH *PATH, Double Loop_Count, kèo bóng đá cúp c2 phí *IndexStartUpCost, kèo bóng đá cúp c2 phí *indextotalcost, Chọn lọc *indexSelectivity, Double *indexCorrelation);
Ba tham số đầu tiên là đầu vào:
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ỉ mục đang được xem xét. Tất cả các lĩnh vực ngoại trừ kèo bóng đá cúp c2 phí và các giá trị chọn lọc là hợp lệ.
11862_12150loop_countcó nghĩa là nó có thể phù hợp với 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 tham kèo bóng đá cúp c2ếu:
Đặt thành kèo bóng đá cúp c2 phí xử lý khởi động chỉ mục
Đặt thành tổng kèo bóng đá cúp c2 phí xử lý chỉ mục
Đặt thành chỉ mục chọn lọc
Đặt thành hệ số tương quan giữa thứ tự quét chỉ mục và Đơn hàng của bảng bên dưới
Lưu ý rằng các chức năng ước tính kèo bóng đá cúp c2 phí phải được viết bằng C, không phải trong SQL hoặc bất kỳ ngôn ngữ thủ tục có sẵn nào, vì họ phải truy cập Cấu trúc dữ liệu nội bộ của trình lập kế hoạch/trình tối ưu hóa.
kèo bóng đá cúp c2 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 bóng đá cúp c2 phí: một tuần tự Fetch khối đĩa có kèo bóng đá cúp c2 phíSEQ_PAGE_COST, a Tìm nạp không có giá cả có kèo bóng đá cúp c2 phíngẫu nhiên_page_costvà kèo bóng đá cúp c2 phí 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 bóng đá cúp c2 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 bóng đá cúp c2 phí truy cập nên bao gồm tất cả các kèo bóng đá cúp c2 phí đĩa và CPU được liên kết với việc quét chỉ mục, nhưngkhôngkèo bóng đá cúp c2 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 bóng đá cúp c2 phí khởi nghiệp"là một phần của tổng kèo bóng đá cúp c2 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 bóng đá cúp c2 phí khởi động cao có thể muốn đặt nó khác không.
TheindexSelectivity14274_14519
TheindexCorrelationnên được đặt thành Mối tương quan (nằm giữa -1,0 và 1.0) giữa chỉ số đặt hàng và đặt hàng bảng. Điều này được sử dụng để điều chỉnh ước tính cho kèo bóng đá cúp c2 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ề phải là trung bình dự kiến cho bất kỳ một lần quét nào của chỉ mục.
Dự toán kèo bóng đá cúp c2 phí
Công cụ ước tính kèo bóng đá cúp c2 phí điển hình sẽ được tiến hành như sau:
Ước kèo bóng đá cúp c2 và trả lại tỷ lệ 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 nhất định. Trong trường hợp không có
Bất kỳ kiến thức cụ thể theo kiểu chỉ mục, hãy sử dụng Trình tối ưu hóa tiêu chuẩn
chức năngclauselist_selectivity ()
:
*IndexSelectivity = Clauselist_Selectivity (root, path- indexquals, Path- indexInfo- rel- relid, Tham gia_inner, null);
Ước kèo bóng đá cúp c2 số lượng hàng chỉ mục sẽ được truy cập trong thời gian quét. Đối với nhiều loại chỉ mục, điều này giống nhưindexSelectivitynhân số lượng hàng trong Chỉ mục, nhưng nó có thể nhiều hơn. (Lưu ý rằng kích thkèo bóng đá cúp c2 của chỉ mục trong các trang và hàng có sẵn từpath- indexInfostruct.)
Ước kèo bóng đá cúp c2 số lượng trang chỉ mục sẽ được truy xuất trong khi quét. Đây có thể chỉ làindexSelectivitylần kích thkèo bóng đá cúp c2 của chỉ mục trong trang.
Tính kèo bóng đá cúp c2 phí truy cập chỉ mục. Một công cụ ước tính chung có thể làm cái này:
/* * Giả định chung của chúng tôi là các trang chỉ mục 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ỉ mục tại mỗi hàng chỉ mục. * Tất cả các kèo bóng đá cúp c2 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 + .
16806_16904
Ước kèo bóng đá cúp c2 mối tương quan chỉ mục. Đối với một chỉ mục được đặt hàng đơn giản trên một Trường duy nhất, điều này có thể được lấy từ pg_statistic. Nếu Tương quan không được biết đến, ước kèo bóng đá cúp c2 bảo thủ bằng không (không Tương quan).
Ví dụ về các chức năng ước tính kèo bóng đá cúp c2 phí có thể được tìm thấy trong.