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

37.11. Thông tin tối ưu hóa chức kèo bóng đá hom nay

Theo mặc định, một hàm chỉ làMạnhHộp đenHệ thống cơ sở dữ liệu biết rất ít về hành vi của. Tuy nhiên, điều đó có nghĩa là các truy vấn sử dụng chức kèo bóng đá hom nay có thể được thực thi kém hiệu quả hơn nhiều so với chúng có thể.

Một số sự thật cơ bản có thể được cung cấp bởi các chú thích khai báo được cung cấp trongTạo chức kèo bóng đá hom nayLệnh. Quan trọng nhất trong số này là chức kèo bóng đá hom nayPostgresql: Tà(Immutable, ổn địnhhoặc); Người ta phải luôn cẩn thận để chỉ định điều này một cách chính xác khi xác định hàm.song song không an toàn, Hạn chế song songhoặcAn toàn song song) cũng phải được chỉ định nếu bạn hy vọng sử dụng hàm trong các truy vấn song song. Nó cũng có thể hữu ích để chỉ định chi phí thực hiện ước tính của chức kèo bóng đá hom nay và/hoặc số lượng hàng mà một chức kèo bóng đá hom nay hoàn trả đã được ước tính để trả lại.

cũng có thể đính kèmHỗ trợ kế hoạchđến hàm có thể gọi SQL (được gọi làHàm mục tiêu), và do đó cung cấp kiến ​​thức về chức kèo bóng đá hom nay đích quá phức tạp để được biểu diễn một cách khai báo. Các chức kèo bóng đá hom nay hỗ trợ kế hoạch phải được viết bằng C (mặc dù các chức kèo bóng đá hom nay mục tiêu của chúng có thể không), vì vậy đây là một tính kèo bóng đá hom nay nâng cao mà tương đối ít người sẽ sử dụng.

Chức kèo bóng đá hom nay hỗ trợ kế hoạch phải có chữ ký SQL

SupportFn (nội bộ) Trả về nội bộ

Nó được gắn vào chức kèo bóng đá hom nay đích của nó bằng cách chỉ địnhhỗ trợmệnh đề Khi tạo chức kèo bóng đá hom nay đích.

Chi tiết của API cho các chức kèo bóng đá hom nay hỗ trợ của Planner trong Tệpsrc/bao gồm/nút/hỗ trợ .htrongPostgreSQLMã nguồn. Ở đây chúng tôi chỉ cung cấp một cái nhìn tổng quan về những gì các chức kèo bóng đá hom nay hỗ trợ kế hoạch có thể làm.

Một số cuộc gọi chức kèo bóng đá hom nay có thể được đơn giản hóa trong quá trình lập kế hoạch dựa trên các thuộc tính cụ thể cho chức kèo bóng đá hom nay. Ví dụ,int4mul (n, 1)có thể được đơn giản kèo bóng đá hom nay thành chỉn. Loại chuyển đổi này có thể được thực hiện bởi chức kèo bóng đá hom nay hỗ trợ kế hoạch, bằng cách thực hiệnAupsTrequestSimplifyLoại yêu cầu. Chức kèo bóng đá hom nay hỗ trợ sẽ được gọi cho từng phiên bản của chức kèo bóng đá hom nay mục tiêu của nó được tìm thấy trong một cây phân tích cú pháp truy vấn.n * 1cũng sẽ được đơn giản kèo bóng đá hom nay thànhn. (Nhưng lưu ý rằng đây chỉ là một ví dụ; Tối ưu kèo bóng đá hom nay đặc biệt này không thực sự được thực hiện bởi StandardPostgreSQL.) Chúng tôi không đảm bảo rằngPostgreSQLsẽ không bao giờ gọi chức kèo bóng đá hom nay đích trong các trường hợp chức kèo bóng đá hom nay hỗ trợ có thể đơn giản hóa. Đảm bảo sự tương đương nghiêm ngặt giữa biểu thức đơn giản hóa và thực hiện thực tế chức kèo bóng đá hom nay đích.

cho các chức kèo bóng đá hom nay đích trả vềBoolean, Thường rất hữu ích khi ước tính tỷ lệ của các hàng sẽ được chọn bởi AWHEREmệnh đề sử dụng hàm đó. Điều này có thể được thực hiện bởi một chức kèo bóng đá hom nay hỗ trợ thực hiệnAupsTrequestSelectivityLoại yêu cầu.

Nếu thời gian chạy của hàm mục tiêu phụ thuộc rất nhiều vào đầu vào của nó, có thể hữu ích để cung cấp ước tính chi phí không liên tục cho nó. Điều này có thể được thực hiện bởi một chức kèo bóng đá hom nay hỗ trợ thực hiệnAupsTrequestCostLoại yêu cầu.

Đối với các hàm mục tiêu mà các bộ trả về, thường rất hữu ích khi cung cấp ước tính không liên tục cho số lượng hàng sẽ được trả về. Điều này có thể được thực hiện bởi một chức kèo bóng đá hom nay hỗ trợ thực hiện12496_12516Loại yêu cầu.

Đối với các chức kèo bóng đá hom nay đích trả vềBoolean, có thể chuyển đổi cuộc gọi chức kèo bóng đá hom nay xuất hiện trongWHEREthành một mệnh đề hoặc mệnh đề toán tử có thể lập chỉ mục. Các mệnh đề được chuyển đổi có thể chính xác tương đương với điều kiện của hàm hoặc chúng có thể yếu hơn một chút (nghĩa là chúng có thể chấp nhận một số giá trị mà điều kiện chức kèo bóng đá hom nay không có).Mất; Nó vẫn có thể được sử dụng để quét một chỉ mục, nhưng cuộc gọi chức kèo bóng đá hom nay sẽ phải được thực thi cho mỗi hàng được trả về bởi chỉ mục để xem nó có thực sự vượt quaWHEREĐiều kiện hay không. Để tạo các điều kiện như vậy, chức kèo bóng đá hom nay hỗ trợ phải triển khai13325_13355Loại yêu cầu.

Gửi hiệu chỉ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.