Phiên bản được hỗ trợ:16 / 15 / 14 / 13
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
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 kèo bóng đá pháp trang chohiện tạiPhiên bản hoặc kèo bóng đá pháp trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

66.4. Triển kèo bóng đá pháp

nội bộ, AGinINDEX chứa kèo bóng đá pháp chỉ số B-cây được xây dựng trên các khóa, trong đó mỗi khóa là kèo bóng đá pháp phần tử của kèo bóng đá pháp hoặc nhiều mục được lập chỉ mục (ví dụ như kèo bóng đá pháp thành viên của kèo bóng đá pháp mảng) và trong đó mỗi bộ tple trong kèo bóng đá pháp trang lá chứa kèo bóng đá pháp con trỏ đến kèo bóng đá pháp cây b của Poin Pointers (APosting Tree) hoặc kèo bóng đá pháp danh sách đơn giản các con trỏ heap (ADanh sách đăngHồi) Khi danh sách đủ nhỏ để phù hợp với kèo bóng đá pháp chỉ mục duy nhất cùng với giá trị khóa.

kể từPostgreSQL9.1, các giá trị khóa NULL có thể được bao gồm trong chỉ kèo bóng đá pháp. Ngoài ra, null giữ chỗ được bao gồm trong chỉ kèo bóng đá pháp cho các kèo bóng đá pháp được lập chỉ kèo bóng đá pháp là null hoặc không chứa các phím theoactactValue. Điều này cho phép các tìm kiếm nên tìm các kèo bóng đá pháp trống để làm như vậy.

MulticolumnGinCác chỉ mục được triển kèo bóng đá pháp bằng cách xây dựng một cây B duy nhất trên các giá trị tổng hợp (số cột, giá trị khóa). Các giá trị khóa cho các cột khác nhau có thể thuộc các loại khác nhau.

66.4.1. Kỹ thuật cập nhật nhanh Gin

Cập nhật AGinChỉ mục có xu hướng chậm vì tính chất nội tại của các chỉ mục đảo ngược: Chèn hoặc cập nhật kèo bóng đá pháp hàng đống có thể gây ra nhiều chèn vào chỉ mục (kèo bóng đá pháp cho mỗi khóa được trích xuất từ ​​mục được lập chỉ mục). Kể từPostgreSQL8.4,Gincó khả năng hoãn lại phần lớn công việc này bằng cách chèn các bộ dữ liệu mới vào kèo bóng đá pháp danh sách tạm thời, chưa được phân loại các mục đang chờ xử lý. Khi bảng được hút bụi hoặc tự động hóa, hoặc khigin_clean_pending_listHàm được gọi hoặc nếu danh sách đang chờ xử lý lớn hơngin_pending_list_limit, Các kèo bóng đá pháp được chuyển đến chínhGinCấu trúc dữ liệu sử dụng cùng kèo bóng đá pháp kỹ thuật chèn số lượng lớn được sử dụng trong quá trình tạo chỉ mục ban đầu. Điều này cải thiện đáng kểGinTốc độ cập nhật chỉ mục, thậm chí đếm chi phí chân không bổ sung. Ngoài ra, công việc trên cao có thể được thực hiện bằng kèo bóng đá pháp quy trình nền thay vì xử lý truy vấn tiền cảnh.

Nhược điểm chính của phương pháp này là các tìm kiếm phải quét danh sách các mục đang chờ xử lý ngoài việc tìm kiếm chỉ mục thông thường, và do đó, kèo bóng đá pháp danh sách lớn các mục đang chờ xử lý sẽ làm chậm các tìm kiếm đáng kể. kèo bóng đá pháp nhược điểm khác là, trong khi hầu hết các bản cập nhật đều nhanh, kèo bóng đá pháp bản cập nhật khiến danh sách đang chờ xử lý trở thànhquá lớnKhănsẽ phải chịu kèo bóng đá pháp chu kỳ dọn dẹp ngay lập tức và do đó chậm hơn nhiều so với các bản cập nhật khác. Việc sử dụng đúng autovacuum có thể giảm thiểu cả hai vấn đề này.

Nếu thời gian phản hồi nhất quán quan trọng hơn tốc độ cập nhật, việc sử dụng các kèo bóng đá pháp đang chờ xử lý có thể bị vô hiệu hóa bằng cách tắtFastupDateTham số lưu trữ cho AGinINDEX. Nhìn thấyTạo chỉ kèo bóng đá phápĐể biết chi tiết.

66.4.2. Thuật toán kết hợp kèo bóng đá pháp phần

Gin có thể hỗ trợKết hợp kèo bóng đá pháp phầnHồi13061_13273so sánhPhương kèo bóng đá pháp hỗ trợ). TheTrích xuấtPhương thức, thay vì trả về giá trị khóa để được khớp chính xác, trả về giá trị khóa là giới hạn dưới của phạm vi được tìm kiếm và đặtpmatchcờ đúng. Phạm vi khóa sau đó được quét bằng cách sử dụngSo sánhpartialPhương kèo bóng đá pháp.So sánhpartial13707_13904