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
Tài kèo bóng đá euro 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 đá euro phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

65.4. kèo bóng đá euro

Phần này bao gồm kèo bóng đá euro chi tiết triển khai và kèo bóng đá euro thủ thuật khác hữu ích cho người thực hiệnsp-gistkèo bóng đá euro lớp toán tử để biết.

65.4.1. Giới hạn sp-gist

Bộ dữ liệu lá riêng lẻ và bộ dữ liệu bên trong phải phù hợp với một trang chỉ mục duy nhất (8kb theo mặc định). Do đó, khi lập chỉ mục kèo bóng đá euro giá trị của kèo bóng đá euro loại dữ liệu có độ dài thay đổi, kèo bóng đá euro giá trị dài chỉ có thể được hỗ trợ bằng kèo bóng đá euro phương thức như cây radix, trong đó mỗi cấp độ của cây bao gồm một tiền tố đủ ngắn để phù hợp với một trang và mức lá cuối cùng bao gồm một hậu tố cũng đủ ngắn để phù hợp với trang.LongValuesokchỉ đúng nếu nó được chuẩn bị để sắp xếp điều này xảy ra. Nếu không,sp-gistCore sẽ từ chối mọi yêu cầu để lập chỉ mục một giá trị quá lớn để phù hợp với trang chỉ mục.

Tương tự như vậy, trách nhiệm của lớp vận hành là kèo bóng đá euro bộ dữ liệu bên trong không phát triển quá lớn để phù hợp với trang chỉ mục; Điều này giới hạn số lượng nút con có thể được sử dụng trong một bộ bên trong, cũng như kích thước tối đa của giá trị tiền tố.

Một giới hạn khác là khi nút của một tuple bên trong chỉ vào một tập hợp kèo bóng đá euro bộ dữ liệu lá, tất cả kèo bóng đá euro bộ dữ liệu đó phải nằm trong cùng một trang chỉ mục. .phảiChia tập hợp kèo bóng đá euro giá trị lá thành nhiều hơn một nhóm nút. Nếu lớp vận hànhPickSplitHàm không làm điều đó,sp-gistKhu nghỉ dưỡng cốt lõi để kèo bóng đá euro biện pháp phi thường được mô tả trongPhần 65.4.3.

khiLongValuesoklà đúng, người ta hy vọng rằng kèo bóng đá euro mức liên tiếp củasp-gistCây sẽ hấp thụ ngày càng nhiều thông tin vào kèo bóng đá euro tiền tố và nhãn nút của kèo bóng đá euro bộ dữ liệu bên trong, làm cho mốc thời gian lá cần thiết nhỏ hơn và nhỏ hơn, do đó nó sẽ phù hợp trên một trang. Để ngăn chặn kèo bóng đá euro lỗi trong kèo bóng đá euro lớp toán tử gây ra kèo bóng đá euro vòng chèn vô hạn,sp-gist11318_11413ChọnCuộc gọi phương thức.

65.4.2. Sp-gist không có nhãn nút

Một số thuật toán cây sử dụng một tập hợp kèo bóng đá euro nút cố định cho mỗi tuple bên trong; Ví dụ, trong một cây bốn, luôn có chính xác bốn nút tương ứng với bốn góc phần tư xung quanh điểm trung tâm của Tuple bên trong.PickSplitHàm có thể trả về null choNodelabelsmảng và tương tự như vậyChọnchức năng có thể trả về null choprefixnodelabelsmảng trong mộtspgsplittupleHành động. Điều này sẽ lần lượt dẫn đếnNodelabelsĐang null trong kèo bóng đá euro cuộc gọi tiếp theo đếnChọnInside_consistent. Về nguyên tắc, kèo bóng đá euro nhãn nút có thể được sử dụng cho một số bộ dữ liệu bên trong và bị bỏ qua cho những người khác trong cùng một chỉ mục.

Khi làm việc với một tuple bên trong có kèo bóng đá euro nút không nhãn, đó là một lỗi choChọnđể trả lạispgaddnode, vì tập hợp kèo bóng đá euro nút được cho là được sửa trong kèo bóng đá euro trường hợp như vậy.

65.4.3.Tất cả-SameBộ dữ kèo bóng đá euro bên trong

Thesp-gistCore có thể ghi đè kết quả của lớp vận hànhPickSplitchức năng khiPickSplitKhông chia kèo bóng đá euro giá trị lá được cung cấp thành ít nhất hai loại nút. Khi điều này xảy ra, bộ tuple bên trong mới được tạo với nhiều nút có cùng một nhãn (nếu có)PickSplitĐã cho một nút mà nó đã sử dụng và kèo bóng đá euro giá trị lá được chia ngẫu nhiên giữa kèo bóng đá euro nút tương đương này. TheAllthesamecờ được đặt ở bộ bên trong để cảnh báoChọnInside_consistentkèo bóng đá euro chức năng mà bộ tuple không có bộ nút mà họ có thể mong đợi.

Khi xử lýAllthesametuple, aChọnKết quả củaSPGMatchNodeđược giải thích có nghĩa là giá trị mới có thể được gán cho bất kỳ nút tương đương nào; Mã cốt lõi sẽ bỏ qua được cung cấpNodenGiá trị và hạ xuống một trong kèo bóng đá euro nút một cách ngẫu nhiên (để giữ cho cây cân bằng). Nó là một lỗi choChọnđể trả lạispgaddnode, vì điều đó sẽ làm cho kèo bóng đá euro nút không tương đương; Thespgsplittuplephải được sử dụng nếu giá trị được chèn không khớp với kèo bóng đá euro nút hiện có.

Khi xử lýAllthesametuple, TheInside_consistentHàm sẽ trả về tất cả hoặc không có nút nào làm mục tiêu để tiếp tục tìm kiếm chỉ mục, vì tất cả chúng đều tương đương. Điều này có thể hoặc không yêu cầu bất kỳ mã trường hợp đặc biệt nào, tùy thuộc vào số lượngInside_consistentHàm thường giả sử về ý nghĩa của kèo bóng đá euro nút.