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 đá pháp phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

11.2. kèo bóng đá pháp

PostgreSQLCung cấp một số loại chỉ mục: B-cây, băm, gist, sp-gist, gin và brin. Mỗi loại chỉ mục sử dụng một thuật toán khác nhau phù hợp nhất với kèo bóng đá pháp truy vấn khác nhau. Theo mặc định,Tạo chỉ mụcLệnh tạo ra kèo bóng đá pháp chỉ mục B-cây, phù hợp với kèo bóng đá pháp tình huống phổ biến nhất.

B-Trees có thể xử lý kèo bóng đá pháp truy vấn bình đẳng và phạm vi trên dữ liệu có thể được sắp xếp thành một số thứ tự. Cụ thể,PostgreSQLTruy vấn Planner sẽ xem xét sử dụng chỉ mục B-cây bất cứ khi nào một cột được lập chỉ mục có liên quan đến việc so sánh bằng cách sử dụng một trong kèo bóng đá pháp toán tử này:

<
<=
=
=
Xây dựng tương đương với sự kết hợp của kèo bóng đá pháp toán tử này, chẳng hạn nhưgiữain, cũng có thể được triển khai với tìm kiếm chỉ mục B-cây. Ngoài ra, mộtlà nullhoặckhông phải là nullĐiều kiện trên cột chỉ mục có thể được sử dụng với chỉ mục B-cây.

Trình tối ưu hóa cũng có thể sử dụng chỉ mục B-cây cho kèo bóng đá pháp truy vấn liên quan đến kèo bóng đá pháp toán tử khớp mẫunhư~ nếuMẫu là hằng số và được neo vào đầu chuỗi - ví dụ:col như 'foo%'hoặccol ~ '^foo', nhưng khôngcol Like '%Bar'. Tuy nhiên, nếu cơ sở dữ liệu của bạn không sử dụng locale C, bạn sẽ cần tạo chỉ mục với lớp toán tử đặc biệt để hỗ trợ lập chỉ mục kèo bóng đá pháp truy vấn khớp mẫu; nhìn thấyPhần 11.9bên dưới. Cũng có thể sử dụng kèo bóng đá pháp chỉ mục B-cây choilike~*, nhưng chỉ khi mẫu bắt đầu bằng kèo bóng đá pháp ký tự không alphabetic, tức là, kèo bóng đá pháp ký tự không bị ảnh hưởng bởi chuyển đổi chữ hoa/thường.

kèo bóng đá pháp chỉ mục B-cây cũng có thể được sử dụng để truy xuất dữ liệu theo thứ tự được sắp xếp. Điều này không phải lúc nào cũng nhanh hơn một lần quét và sắp xếp đơn giản, nhưng nó thường hữu ích.

Chỉ số băm chỉ có thể xử lý kèo bóng đá pháp so sánh bình đẳng đơn giản. Trình lập kế hoạch truy vấn sẽ xem xét sử dụng chỉ mục băm bất cứ khi nào một cột được lập chỉ mục có liên quan đến việc so sánh bằng cách sử dụng=toán tử. Lệnh sau được sử dụng để tạo chỉ mục băm:

Tạo chỉ mụctêntrênBảngSử dụng băm (Cột);
THẬN TRỌNG

13178_13278ReindexSau khi gặp sự cố cơ sở dữ liệu nếu có những thay đổi không viết. Ngoài ra, kèo bóng đá pháp thay đổi đối với kèo bóng đá pháp chỉ mục băm không được sao chép qua việc phát trực tuyến hoặc sao chép dựa trên tệp sau khi sao lưu cơ sở ban đầu, vì vậy chúng đưa ra câu trả lời sai cho kèo bóng đá pháp truy vấn sau đó sử dụng chúng. Vì những lý do này, việc sử dụng chỉ số băm hiện đang được khuyến khích.

Chỉ số GIST không phải là một loại chỉ mục duy nhất, mà là một cơ sở hạ tầng trong đó có thể thực hiện nhiều chiến lược lập chỉ mục khác nhau. Theo đó, kèo bóng đá pháp toán tử cụ thể có thể sử dụng chỉ mục GIST khác nhau tùy thuộc vào chiến lược lập chỉ mục (Lớp toán tử). Ví dụ, phân phối tiêu chuẩn củaPostgreSQLBao gồm kèo bóng đá pháp lớp toán tử GIST cho một số loại dữ liệu hình học hai chiều, hỗ trợ kèo bóng đá pháp truy vấn được lập chỉ mục sử dụng kèo bóng đá pháp toán tử này:

<<
&<
&
<< |
& <|
| &
|
@
<@
~ =
&&
(xemPhần 9.11Đối với ý nghĩa của kèo bóng đá pháp toán tử này.) kèo bóng đá pháp lớp toán tử GIST có trong phân phối tiêu chuẩn được ghi lại trongBảng 59-1. Nhiều lớp toán tử chủ chính khác có sẵn trongĐóng gópBộ sưu tập hoặc như kèo bóng đá pháp dự án riêng biệt. Để biết thêm thông tin, xemtỷ lệ kèo bóng.

Chỉ số GIST cũng có khả năng tối ưu hóa"lân cận gần nhất"tìm kiếm, chẳng hạn như

Chọn * Từ địa điểm đặt hàng theo vị trí <- điểm '(101,456)' giới hạn 10;

tìm thấy mười vị trí gần nhất với một điểm mục tiêu nhất định. Khả năng làm điều này một lần nữa phụ thuộc vào lớp toán tử cụ thể đang được sử dụng. TRONGBảng 59-1, toán tử có thể được sử dụng theo cách này được liệt kê trong cột"kèo bóng đá pháp toán tử đặt hàng".

Các chỉ mục sp-gist, như các chỉ mục GIST, cung cấp một cơ sở hạ tầng hỗ trợ kèo bóng đá pháp tìm kiếm khác nhau. SP-Gist cho phép triển khai một loạt các cấu trúc dữ liệu dựa trên đĩa không cân bằng khác nhau, chẳng hạn như tứ giác, cây K-D và cây radix (thử). Ví dụ, phân phối tiêu chuẩn củaPostgreSQLBao gồm kèo bóng đá pháp lớp toán tử sp-gist cho kèo bóng đá pháp điểm hai chiều, hỗ trợ kèo bóng đá pháp truy vấn được lập chỉ mục sử dụng kèo bóng đá pháp toán tử này:

<<
~ =
<@
<^
^
(xemPhần 9.11Đối với ý nghĩa của kèo bóng đá pháp toán tử này.) kèo bóng đá pháp lớp toán tử sp-gist có trong phân phối tiêu chuẩn được ghi lại trongBảng 60-1. Để biết thêm thông tin, xemChương 60.

17040_17387PostgreSQLBao gồm kèo bóng đá pháp lớp toán tử GIN cho kèo bóng đá pháp mảng một chiều, hỗ trợ kèo bóng đá pháp truy vấn được lập chỉ mục sử dụng kèo bóng đá pháp toán tử này:

<@
@
=
&&
(xemPhần 9,18Đối với ý nghĩa của kèo bóng đá pháp toán tử này.) kèo bóng đá pháp lớp toán tử Gin có trong phân phối tiêu chuẩn được ghi lại trongBảng 61-1. Nhiều lớp toán tử Gin khác có sẵn trongĐóng gópBộ sưu tập hoặc như kèo bóng đá pháp dự án riêng biệt. Để biết thêm thông tin, xemChương 61.

BRIN INDEXES (Tóm tắt các chỉ mục phạm vi khối) Lưu trữ tóm tắt về các giá trị được lưu trữ trong các phạm vi khối vật lý bảng liên tiếp. Giống như Gist, SP-Gist và Gin, Brin có thể hỗ trợ nhiều chiến lược lập chỉ mục khác nhau và các toán tử cụ thể mà chỉ số Brin có thể được sử dụng thay đổi tùy thuộc vào chiến lược lập chỉ mục. Đối với kèo bóng đá pháp dữ liệu có thứ tự sắp xếp tuyến tính, dữ liệu được lập chỉ mục tương ứng với các giá trị tối thiểu và tối đa của các giá trị trong cột cho mỗi phạm vi khối, hỗ trợ các truy vấn được lập chỉ mục sử dụng các toán tử này:

<
<=
=
=
kèo bóng đá pháp lớp toán tử Brin có trong phân phối tiêu chuẩn được ghi lại trong19212_19224. Để biết thêm thông tin, xemChương 62.