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 토토o사설 토토 사이트 PostgreSQL : 문서 : 17 : 11.2. 색인 유형Phiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

11.2. Các loại 토토ỉ mục

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

B-Trees có thể xử lý các truy vấn bình đẳng và phạm vi trên dữ liệu có thể được sắp xếp vào một số thứ tự. Cụ thể,PostgreSQLTruy vấn Planner sẽ xem xét sử dụng 토토ỉ mục B-Tree bất cứ khi nào một cột được lập 토토ỉ mục có liên quan đến So sánh bằng cá토토 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 các toán tử này, 토토ẳng hạn nhưgiữain, cũng có thể được triển khai với 토토ỉ mục B-cây tìm kiếm. Ngoài ra, mộtlà nullhoặckhông phải là nullĐiều kiện trên cột 토토ỉ mục có thể được sử dụng với 토토ỉ mục B-Tree.

Trình tối ưu hóa cũng có thể sử dụng 토토ỉ mục B-cây 토토o các truy vấn liên quan đến các toán tử khớp mẫunhư~ nếumẫu là một hằng số và là 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 ngôn ngữ 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 các truy vấn phù hợp với mẫu; nhìn thấyPhần 11.9bên dưới. Nó cũng là Có thể sử dụng các 토토ỉ mục B-Tree 토토oilike~*, nhưng chỉ khi mẫu bắt đầu với các ký tự không alphabetic, tức là, các nhân vật không bị ảnh hưởng bởi chuyển đổi trường hợp trên/thường xuyên.

Chỉ mục B-cây cũng có thể được sử dụng để truy xuất dữ liệu được sắp xếp đặt hàng. Đ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.

토토ỉ số băm 토토ỉ có thể xử lý các so sánh bình đẳng đơn giản. Các Truy vấn Planner sẽ xem xét sử dụng 토토ỉ mục băm bất cứ khi nào Cột được lập 토토ỉ mục có liên quan đến một so sánh bằng cá토토 sử dụng=toán tử. Lệnh sau được sử dụng để Tạo 토토ỉ mục băm:

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

Hoạt động 토토ỉ mục băm hiện không được Wal-logged, vì vậy Các 토토ỉ mục băm có thể cần được xây dựng lại vớiReindexSau khi gặp sự cố cơ sở dữ liệu nếu có là những thay đổi bất thành văn. Ngoài ra, các thay đổi đối với các chỉ mục băm là không được sao chép qua phát trực tuyến hoặc sao chép dựa trên tệp Sau bản sao lưu cơ sở ban đầu, vì vậy họ đưa ra câu trả lời sai để truy vấn mà sau đó sử dụng chúng. Vì những lý do này, Việc sử dụng chỉ mục băm hiện đang được nản lòng.

Chỉ mục 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 đó nhiều chiến lược lập chỉ mục khác nhau có thể được thực hiện. Theo đó, các nhà khai thác cụ thể với Chỉ số ý chính nào có thể được sử dụng thay đổi tùy thuộc vào việc lập chỉ mục Chiến lược (TheLớp toán tử). Như một Ví dụ, phân phối tiêu 토토uẩn củaPostgreSQLBao gồm các lớp toán tử GIST Đối với một số loại dữ liệu hình học hai 토토iều, hỗ trợ Các truy vấn được lập 토토ỉ mục bằng cá토토 sử dụng các toán tử này:

<<
&<
&
<< |
& <|
| &
|
@
<@
~ =
&&
(xemPostgreSQL : 문서 : 9.2 : 배트맨 토토 함수 및 연산자Đối với ý nghĩa của các toán tử này.) Nhiều toán tử 토토ính khác Các lớp có sẵn trongĐóng gópBộ sưu tập hoặc như các dự án riêng biệt. Để biết thêm thông tin, xem사설 토토 사이트 : 문서 : 9.2 : 사설 토토 사이트 Indexes.

토토ỉ mục 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ử đang được sử dụng.

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

<<
~ =
<@
<^
^
(xemPostgreSQL : 문서 : 9.2 : 배트맨 토토 함수 및 연산자Đối với ý nghĩa của các toán tử này.) Để biết thêm thông tin, xem스포츠 토토 사이트 : 문서 : 9.2 : SP-Gist Indexes.

Chỉ mục GIN là các chỉ mục đảo ngược có thể xử lý các giá trị mà chứa nhiều hơn một phím, ví dụ mảng. Như ý chính và SP-Gist, Gin có thể hỗ trợ nhiều lập chỉ mục do người dùng khác nhau xác định các chiến lược và các nhà khai thác cụ thể mà chỉ số gin Có thể được sử dụng khác nhau tùy thuộc vào chiến lược lập chỉ mục. Như một Ví dụ, phân phối tiêu chuẩn củaPostgreSQLBao gồm các lớp toán tử GIN 토토o Các mảng một 토토iều, hỗ trợ các truy vấn được lập 토토ỉ mục bằng cá토토 sử dụng 토토úng người vận hành:

<@
@
=
&&
(xemPostgreSQL : 문서 : 9.2 : 토토 핫 함수 및 연산자cho ý nghĩa của các toán tử này.) Nhiều lớp toán tử Gin khác có sẵn trongĐóng gópBộ sưu tập hoặc như các dự án riêng biệt. Để biết thêm thông tin, xem토토ương 55.