PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | Chương 11. Indexes | NEXT |
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:
< |
<= |
= |
= |
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ư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ỉ 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 choilikevà~*, 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:
<< |
&< |
& |
<< | |
& <| |
| & |
| |
@ |
<@ |
~ = |
&& |
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:
<< |
~ = |
<@ |
<^ |
^ |
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:
<@ |
@ |
= |
&& |
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:
< |
<= |
= |
= |