Mỗi phương thức truy cập chỉ tỷ lệ kèo bóng đá được mô tả bằng một hàng trongpg_am
Danh tỷ lệ kèo bóng đá hệ thống. Thepg_am
tỷ lệ kèo bóng đá nhập Chỉ định tên và AChức năng xử lýĐối với phương thức truy cập chỉ tỷ lệ kèo bóng đá. Các tỷ lệ kèo bóng đá này có thể được tạo và xóa bằng cách sử dụngPostgreSQL: Tài liệu:vàPostgreSQL: Tài liệu:Các lệnh SQL.
Hàm xử lý phương thức truy cập chỉ tỷ lệ kèo bóng đá phải được khai báo để chấp nhận một đối số duy nhất loạiNội bộ
và để trả về loại giảindex_am_handler
. Đối số là một giá trị giả chỉ đơn giản là phục vụ để ngăn chặn các hàm xử lý được gọi trực tiếp từ các lệnh SQL.indexAmRoutine
, chứa mọi thứ mà mã cốt lõi cần biết để sử dụng phương thức truy cập chỉ tỷ lệ kèo bóng đá. TheindexAmRoutine
struct, còn được gọi là phương thức truy cậpAPI Struct, bao gồm các trường chỉ định các thuộc tính cố định của phương thức truy cập, chẳng hạn như liệu nó có thể hỗ trợ các chỉ tỷ lệ kèo bóng đá Multicolumn hay không. Quan trọng hơn, nó chứa các gợi ý để hỗ trợ các chức năng cho phương thức truy cập, thực hiện tất cả các công việc thực sự để truy cập các chỉ tỷ lệ kèo bóng đá.Phần 62.2.
Cấu trúcindexAmRoutine
được xác định như vậy:
Typedef struct indexAmRoutine
Để hữu ích, một phương thức truy cập chỉ tỷ lệ kèo bóng đá cũng phải có một hoặc nhiềuGia đình vận hànhvàCác lớp toán tửđược xác định trongpg_opf Family
, PG_OPCLASS
, pg_amop
vàpg_amproc
. Các tỷ lệ kèo bóng đá này cho phép người lập kế hoạch xác định loại trình độ truy vấn nào có thể được sử dụng với các chỉ tỷ lệ kèo bóng đá của phương thức truy cập này.Phần 36.16, đó là tài liệu điều kiện tiên quyết để đọc chương này.
Một chỉ tỷ lệ kèo bóng đá riêng lẻ được xác định bởi Apg_ class
tỷ lệ kèo bóng đá mô tả nó như một mối quan hệ vật lý, cộng với Apg_index
tỷ lệ kèo bóng đá hiển thị nội dung logic của chỉ tỷ lệ kèo bóng đá - nghĩa là tập hợp các cột chỉ tỷ lệ kèo bóng đá mà nó có và ngữ nghĩa của các cột đó, được ghi lại bởi các lớp toán tử liên quan. Các cột chỉ tỷ lệ kèo bóng đá (giá trị chính) có thể là các cột đơn giản của bảng bên dưới hoặc các biểu thức trên các hàng bảng.pg_index
. Cả hai tỷ lệ kèo bóng đá nhập danh tỷ lệ kèo bóng đá này đều có thể được truy cập như một phần củaMối quan hệ
Cấu trúc dữ liệu được truyền cho tất cả các hoạt động trên chỉ tỷ lệ kèo bóng đá.
Một số trường cờ củaindexAmRoutine
Có ý nghĩa không đáng tin cậy. Các yêu cầu củaAmcanunique
được thảo luận trongPhần 62.5. TheAmcanmulticol
Flag khẳng định rằng phương thức truy cập hỗ trợ các chỉ tỷ lệ kèo bóng đá nhiều cột, trong khiAmoptionalkey
khẳng định rằng nó cho phép quét trong đó không có điều khoản hạn chế có thể lập chỉ tỷ lệ kèo bóng đá nào được đưa ra cho cột chỉ tỷ lệ kèo bóng đá đầu tiên. KhiAmcanmulticol
là sai,Amoptionalkey
Về cơ bản nói rằng phương thức truy cập có hỗ trợ quét chỉ số đầy đủ mà không có điều khoản hạn chế nào không. Các phương thức truy cập hỗ trợ nhiều cột chỉ tỷ lệ kèo bóng đáphảiQuét hỗ trợ bỏ qua các hạn chế đối với bất kỳ hoặc tất cả các cột sau lần đầu tiên; Tuy nhiên, chúng được phép yêu cầu một số hạn chế xuất hiện cho cột chỉ tỷ lệ kèo bóng đá đầu tiên và điều này được báo hiệu bằng cách cài đặtAmoptionalkey
Sai. Một lý do mà một chỉ tỷ lệ kèo bóng đáAMcó thể đặtAmoptionalkey
Sai là nếu nó không lập chỉ tỷ lệ kèo bóng đá các giá trị null. Vì hầu hết các toán tử có thể lập chỉ tỷ lệ kèo bóng đá đều nghiêm ngặt và do đó không thể trả về đúng cho các đầu vào null, nên từ cái nhìn đầu tiên hấp dẫn không lưu trữ các tỷ lệ kèo bóng đá nhập chỉ tỷ lệ kèo bóng đá cho các giá trị null: dù sao chúng cũng không bao giờ có thể được trả lại bằng cách quét chỉ tỷ lệ kèo bóng đá.Amoptionalkey
Đúng phải chỉ tỷ lệ kèo bóng đá nulls, vì người lập kế hoạch có thể quyết định sử dụng một chỉ tỷ lệ kèo bóng đá như vậy mà không có khóa quét nào cả. Một hạn chế liên quan là phương thức truy cập chỉ tỷ lệ kèo bóng đá hỗ trợ nhiều cột chỉ tỷ lệ kèo bóng đáphảiHỗ trợ lập chỉ tỷ lệ kèo bóng đá các giá trị null trong các cột sau lần đầu tiên, vì người lập kế hoạch sẽ giả sử chỉ tỷ lệ kèo bóng đá có thể được sử dụng cho các truy vấn không hạn chế các cột này. Ví dụ: xem xét một chỉ tỷ lệ kèo bóng đá trên (a, b) và truy vấn vớitrong đó a = 4
. Hệ thống sẽ giả sử chỉ tỷ lệ kèo bóng đá có thể được sử dụng để quét các hàng vớiA = 4
, Điều này là sai nếu chỉ tỷ lệ kèo bóng đá bỏ qua các hàng trong đóB
là null. Tuy nhiên, đó là OK để bỏ qua các hàng trong đó cột được lập chỉ tỷ lệ kèo bóng đá đầu tiên là null.AmsearchNulls
, chỉ ra rằng nó hỗ trợlà null
vàkhông phải là null
mệnh đề là điều kiện tìm kiếm.
TheAmcaninclude
cờ cho biết liệu phương thức truy cập có hỗ trợBao gồmHồiCác cột, đó là nó có thể lưu trữ (không xử lý) các cột bổ sung ngoài (các) cột chính. Các yêu cầu của đoạn trước chỉ áp dụng cho các cột chính.Amcanmulticol
=Sai
vàAmcaninclude
=TRUE
là hợp lý: Điều đó có nghĩa là chỉ có thể có một cột chính, nhưng cũng có thể được bao gồm (các) cột. Ngoài ra, các cột bao gồm phải được phép là null, độc lập vớiAmoptionalkey
.
TheAmsummarizing
cờ cho biết liệu phương thức truy cập có tóm tắt các bộ dữ liệu được lập chỉ tỷ lệ kèo bóng đá hay không, với việc tóm tắt độ chi tiết ít nhất là mỗi khối. Các phương thức truy cập không trỏ đến các bộ dữ liệu riêng lẻ, nhưng để chặn phạm vi (nhưBrin), có thể cho phépHOTTối ưu hóa để tiếp tục. Điều này không áp dụng cho các thuộc tính được tham chiếu trong các vị từ chỉ tỷ lệ kèo bóng đá, bản cập nhật của một thuộc tính như vậy luôn luôn vô hiệu hóaHOT.
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.