PostgreSQLCung cấp một số loại chỉ kèo bóng đá euro: B-tree, băm, gist, sp-gist, gin, brin và phần mở rộngBloom. Mỗi loại chỉ kèo bóng đá euro sử dụng một thuật toán khác nhau phù hợp nhất với các loại truy vấn khác nhau.Tạo chỉ kèo bóng đá euro
Lệnh tạo ra các chỉ kèo bóng đá euro B-cây, phù hợp với các tình huống phổ biến nhất.
B-Trees có thể xử lý kèo bóng đá euro 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ể,PostgreSQLTrình lập kế hoạch truy vấn sẽ xem xét sử dụng chỉ kèo bóng đá euro B-cây bất cứ khi nào một cột được lập chỉ kèo bóng đá euro có liên quan đến việc so sánh bằng cách sử dụng một trong các 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 đá euro toán tử này, chẳng hạn nhưgiữa
vàin
, cũng có thể được triển khai với tìm kiếm chỉ kèo bóng đá euro B-cây. Ngoài ra, mộtlà null
hoặckhông phải là null
Điều kiện trên cột chỉ kèo bóng đá euro có thể được sử dụng với chỉ kèo bóng đá euro B-cây.
Trình tối ưu hóa cũng có thể sử dụng chỉ kèo bóng đá euro B-cây cho các truy vấn liên quan đến các toán tử khớp mẫunhư
và~
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ỉ kèo bóng đá euro với lớp toán tử đặc biệt để hỗ trợ lập chỉ kèo bóng đá euro các truy vấn khớp mẫu;Phần 11.9bên dưới. Cũng có thể sử dụng các chỉ kèo bóng đá euro B-cây choilike
và~*
, nhưng chỉ khi mẫu bắt đầu bằng kèo bóng đá euro ký tự không alphabetic, tức là, kèo bóng đá euro ký tự không bị ảnh hưởng bởi chuyển đổi trường hợp trên/thường.
Các chỉ kèo bóng đá euro 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ý các 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ỉ kèo bóng đá euro băm bất cứ khi nào một cột được lập chỉ kèo bóng đá euro 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ỉ kèo bóng đá euro băm:
Tạo chỉ kèo bóng đá eurotên
trênBảng
Sử dụng băm (Cột
);
Các chỉ kèo bóng đá euro GIST không phải là một loại chỉ kèo bóng đá euro 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ỉ kèo bóng đá euro khác nhau. Theo đó, các toán tử cụ thể có thể sử dụng chỉ kèo bóng đá euro GIST khác nhau tùy thuộc vào chiến lược lập chỉ kèo bóng đá euro (Lớp toán tử). Ví dụ, phân phối tiêu chuẩn củaPostgreSQLBao gồm các lớp toán tử GIST cho một số loại dữ liệu hình học hai chiều, hỗ trợ các truy vấn được lập chỉ kèo bóng đá euro sử dụng các toán tử này:
<< |
&< |
& |
|
<< | |
& <| |
| & |
| |
@ |
<@ |
~ = |
&& |
(xemPhần 9.11Đối với ý nghĩa của kèo bóng đá euro toán tử này.) kèo bóng đá euro lớp toán tử GIST có trong phân phối tiêu chuẩn được ghi lại trongBảng 62.1. Nhiều lớp toán tử chủ chính khác có sẵn trongđóng góp
Bộ sưu tập hoặc như kèo bóng đá euro dự án riêng biệt. Để biết thêm thông tin, xemChương 62.
Chỉ số GIST cũng có khả năng tối ưu hóalân cận gần nhấttì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 kèo bóng đá euro 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.Bảng 62.1, toán tử có thể được sử dụng theo cách này được liệt kê trong cộtHồikèo bóng đá euro toán tử đặt hàngHồi.
Các chỉ kèo bóng đá euro sp-gist, như các chỉ kèo bóng đá euro GIST, cung cấp một cơ sở hạ tầng hỗ trợ các loại 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ử).PostgreSQLBao gồm các lớp toán tử sp-gist cho các điểm hai chiều, hỗ trợ các truy vấn được lập chỉ kèo bóng đá euro sử dụng các toán tử này:
<< |
|
~ = |
<@ |
<^ |
^ |
(xemPhần 9.11Đối với ý nghĩa của kèo bóng đá euro toán tử này.) kèo bóng đá euro lớp toán tử sp-gist có trong phân phối tiêu chuẩn được ghi lại trongBảng 63.1. Để biết thêm thông tin, xemChương 63.
Chỉ số Gin làHồiCác chỉ kèo bóng đá euro đảo ngượcHồiphù hợp với các giá trị dữ liệu có chứa nhiều giá trị thành phần, chẳng hạn như mảng. Chỉ số đảo ngược chứa một kèo bóng đá euro nhập riêng cho từng giá trị thành phần và có thể xử lý hiệu quả các truy vấn kiểm tra sự hiện diện của các giá trị thành phần cụ thể.
Giống như GIST và SP-Gist, Gin có thể hỗ trợ nhiều chiến lược lập chỉ kèo bóng đá euro do người dùng xác định khác nhau và các toán tử cụ thể có thể sử dụng chỉ số GIN khác nhau tùy thuộc vào chiến lược lập chỉ kèo bóng đá euro. Ví dụ, phân phối tiêu chuẩn củaPostgreSQLBao gồm một lớp toán tử GIN cho các mảng, hỗ trợ các truy vấn được lập chỉ kèo bóng đá euro bằng cách sử dụng các toán tử này:
<@ |
@ |
= |
&& |
(xemPhần 9,18Đối với ý nghĩa của kèo bóng đá euro toán tử này.) kèo bóng đá euro lớp toán tử Gin có trong phân phối tiêu chuẩn được ghi lại trongBảng 64.1. Nhiều lớp toán tử Gin khác có sẵn trongĐóng góp
Bộ sưu tập hoặc như kèo bóng đá euro dự án riêng biệt. Để biết thêm thông tin, xemChương 64.
BRIN INDEXES (Tóm tắt các chỉ kèo bóng đá euro phạm vi khối) Lưu trữ tóm tắt về các giá trị được lưu trữ trong phạm vi khối vật lý liên tiếp của bảng. Giống như Gist, SP-Gist và Gin, Brin có thể hỗ trợ nhiều chiến lược lập chỉ kèo bóng đá euro 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ỉ kèo bóng đá euro.
< |
<= |
= |
= |
|
kèo bóng đá euro lớp toán tử Brin có trong phân phối tiêu chuẩn được ghi lại trongBảng 65.1. Để biết thêm thông tin, xemChương 65.