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 / 8.0 / 7.4 / 7.3 / 7.2
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ại10287_10368

11.10. Các lớp vận kèo bóng đá euro và gia đình vận kèo bóng đá euro#

Định nghĩa chỉ số có thể chỉ địnhkèo bóng đá euro toán tửĐối với mỗi cột của một chỉ mục.

Tạo chỉ mụctêntrênBảng(cột opClass[(opClass_options)] [Tùy chọn sắp xếp] [, ...]);

kèo bóng đá euro toán tử xác định các toán tử được sử dụng bởi chỉ mục cho cột đó. Ví dụ: chỉ mục B-cây trên loạiINT4Sẽ sử dụngINT4_OPS12454_12533INT412561_13118đối chiếu, ASC/Descvà/hoặcNULLS FIRST/nulls cuối cùng).

13320_13393

  • Các kèo bóng đá euro toán tửtext_potype_ops, varchar_pattern_opsBPCHAR_POTERN_OPSHỗ trợ chỉ mục B-cây trên kèo bóng đá euro loạiText, Varcharchartương ứng. Sự khác biệt so với các kèo bóng đá euro toán tử mặc định là các giá trị được so sánh ký tự nghiêm ngặt theo ký tự chứ không phải theo các quy tắc đối chiếu cụ thể của Locale. Điều này làm cho các kèo bóng đá euro toán tử này phù hợp để sử dụng bởi các truy vấn liên quan đến các biểu thức khớp mẫu (nhưhoặc kèo bóng đá euro biểu thức chính quy POSIX) Khi cơ sở dữ liệu không sử dụng tiêu chuẩnCHồiLocale. Ví dụ, bạn có thể lập chỉ mục AVarcharCột như thế này:

    14423_14491

    Lưu ý rằng bạn cũng nên tạo một chỉ mục với kèo bóng đá euro toán tử mặc định nếu bạn muốn các truy vấn liên quan đến thông thường<, <=, hoặc =So sánh để sử dụng một chỉ mục. kèo bóng đá euro truy vấn như vậy không thể sử dụngxxx_pattern_opsCác kèo bóng đá euro toán tử. (Tuy nhiên, các so sánh bình đẳng thông thường có thể sử dụng các kèo bóng đá euro toán tử này, tuy nhiên.) Có thể tạo nhiều chỉ mục trên cùng một cột với các kèo bóng đá euro toán tử khác nhau. Nếu bạn sử dụng ngôn ngữ C, bạn không cầnxxx_pattern_opsCác kèo bóng đá euro toán tử, vì một chỉ mục có kèo bóng đá euro toán tử mặc định có thể sử dụng cho các truy vấn khớp mẫu trong locale c.

Truy vấn sau đây cho thấy tất cả các kèo bóng đá euro toán tử được xác định:

Chọn Am.AmName dưới dạng index_method,
       opc.opcname dưới dạng opclass_name,
       opc.opcintype :: regtype as indexed_type,
       opc.opcdefault như is_default
    Từ pg_am am, pg_opclass opc
    Trong đó opc.opcmethod = am.oid
    Đặt hàng theo index_method, opClass_name;

Một kèo bóng đá euro toán tử thực sự chỉ là một tập hợp con của một cấu trúc lớn hơn gọi làGia đình vận kèo bóng đá euro. Trong trường hợp một số loại dữ liệu có các kèo bóng đá euro vi tương tự, thường hữu ích khi xác định các toán tử loại dữ liệu chéo và cho phép chúng hoạt động với các chỉ mục. Để làm điều này, các lớp toán tử cho từng loại phải được nhóm thành cùng một họ vận kèo bóng đá euro. Các nhà khai thác loại chéo là thành viên của gia đình, nhưng không được liên kết với bất kỳ lớp nào trong gia đình.

Phiên bản mở rộng này của truy vấn trước đó cho thấy gia đình toán tử mỗi kèo bóng đá euro toán tử thuộc về:

Chọn Am.AmName dưới dạng index_method,
       opc.opcname dưới dạng opclass_name,
       opf.opfname dưới dạng opf Family_name,
       opc.opcintype :: regtype as indexed_type,
       opc.opcdefault như is_default
    Từ pg_am am, pg_opclass opc, pg_opf Family opf
    Nơi opc.opcmethod = am.oid và
          opc.opcf Family = opf.oid
    Đặt hàng theo index_method, opClass_name;

Truy vấn này hiển thị tất cả các gia đình vận kèo bóng đá euro được xác định và tất cả các toán tử có trong mỗi gia đình:

Chọn Am.AmName dưới dạng index_method,
       opf.opfname dưới dạng opf Family_name,
       amop.amopopp :: Regoperator là Opf Family_Operator
    Từ pg_am am, pg_opf Family opf, pg_amop amop
    WHERE opf.opfmethod = am.oid và
          amop.amopf Family = opf.oid
    Đặt hàng theo index_method, opf Family_name, opf Family_operator;

tip

PSQLcó lệnh\ DAC, \ DAF\ DAO, cung cấp kèo bóng đá euro phiên bản tinh vi hơn một chút của kèo bóng đá euro truy vấn này.