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ạiPhiên bản hoặc một trong kèo bóng đá c1 phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

11.9. kèo bóng đá c1 vận hành và toán tử Gia đình

Một định nghĩa chỉ số có thể chỉ địnhlớp vận kèo bóng đá c1Đố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[Tùy chọn sắp xếp] [, ...]);

lớp toán tử xác định kèo bóng đá c1 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_OPSlớp; Lớp toán tử này bao gồm kèo bóng đá c1 hàm so sánh cho kèo bóng đá c1 giá trị của loạiINT411970_12545đối chiếu, ASC/Descvà/hoặcNULLS đầu tiên/12705_12719).

Ngoài ra còn có một số kèo bóng đá c1 toán tử tích hợp bên cạnh Những cái mặc định:

  • kèo bóng đá c1 toán tửtext_potype_ops, varchar_pattern_opsBPCHAR_POTERN_OPSHỗ trợ chỉ mục B-Tree trên kèo bóng đá c1 loạiText, Varcharchartương ứng. Sự khác biệt so với toán tử mặc định kèo bóng đá c1 là các giá trị được so sánh đặc tính nghiêm ngặt bởi nhân vật hơn là theo địa phương cụ thể Quy tắc đối chiếu. Điều này làm cho kèo bóng đá c1 vận hành 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 Biểu thức chính quy POSIX) Khi cơ sở dữ liệu không sử dụng tiêu chuẩn"C"Locale. Ví dụ, bạn có thể lập chỉ mục AVarcharCột như thế này:

    Tạo chỉ mục test_index trên test_table (col varchar_pattern_ops);

    Lưu ý rằng bạn cũng nên tạo một chỉ mục với mặc định lớp toán tử nếu bạn muốn kèo bóng đá c1 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 đá c1 truy vấn như vậy không thể sử dụngxxx_pattern_opskèo bóng đá c1 toán tử. (So ​​sánh bình đẳng thông thường có thể sử dụng các toán tử này Tuy nhiên, kèo bóng đá c1.) Có thể tạo nhiều chỉ mục Trên cùng một cột với kèo bóng đá c1 toán tử khác nhau. Nếu bạn làm sử dụng locale c, bạn không cầnxxx_pattern_ops14600_14737

Truy vấn sau đây cho thấy tất cả kèo bóng đá c1 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
    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 đá c1 toán tử thực sự chỉ là một tập hợp con của một tập hợp con lớn hơn Cấu trúc được gọi làGia đình vận kèo bóng đá c1. TRONG trường hợp một số loại dữ liệu có hành vi tương tự, nó là thường hữu ích để xác định các toán tử loại dữ liệu chéo và cho phép Chúng để làm việc với các chỉ mục. Để làm điều này, kèo bóng đá c1 toán tử cho Mỗi loại phải được nhóm thành cùng một họ vận hành. Các nhà khai thác loại chéo là thành viên của gia đình, nhưng không liên kết với bất kỳ lớp nào trong gia đình.

Truy vấn này hiển thị tất cả kèo bóng đá c1 họ toán tử được xác định và tất cả kèo bóng đá c1 nhà khai thác bao gồm trong mỗi gia đình:

Chọn Am.AmName là 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;