Theintarray
Mô-đun cung cấp một số chức năng và toán tử hữu ích để thao tác các mảng số soi kèo bóng đá truoctran không có null. Ngoài ra còn có hỗ trợ cho các tìm kiếm được lập chỉ mục bằng cách sử dụng một số toán tử.
Tất cả soi kèo bóng đá truoctran hoạt động này sẽ gây ra lỗi nếu một mảng được cung cấp chứa bất kỳ phần tử null nào.
Nhiều trong số các hoạt động này chỉ hợp lý đối với soi kèo bóng đá truoctran một chiều. Mặc dù chúng sẽ chấp nhận soi kèo bóng đá truoctran đầu vào có nhiều kích thước hơn, dữ liệu được xử lý như thể đó là một mảng tuyến tính theo thứ tự lưu trữ.
Mô -đun này được coi làTrustedHồi, nghĩa là, nó có thể được cài đặt bởi những người không phải là người siêu giám sát cóTạo
Đặc quyền trên cơ sở dữ liệu hiện tại.
Intarray
Chức năng và toán tử#soi kèo bóng đá truoctran chức năng được cung cấp bởiintarray
Mô -đun được hiển thị trongBảng F.8, toán tử trongBảng F.9.
Bảng F.8.Intarray
Chức năng
Bảng F.9.Intarray
Người vận hành
Nhà điều hành Mô tả |
---|
Do mảng trùng lặp (có ít nhất một yếu tố chung)? |
Mảng trái có chứa mảng phải không? |
Mảng còn lại chứa trong mảng phải? |
Trả về số lượng phần tử trong mảng. |
Trả về chỉ mục của phần tử mảng đầu tiên khớp đúng đối số hoặc 0 nếu không phù hợp. (Giống như |
Thêm phần tử vào cuối mảng. |
Concatenates soi kèo bóng đá truoctran. |
Xóa soi kèo bóng đá truoctran mục khớp đúng đối số khỏi mảng. |
Xóa soi kèo bóng đá truoctran phần tử của mảng phải khỏi mảng bên trái. |
Tính toán sự kết hợp của soi kèo bóng đá truoctran đối số. |
Tính toán sự kết hợp của soi kèo bóng đá truoctran đối số. |
Tính toán giao điểm của soi kèo bóng đá truoctran đối số. |
Mảng có thỏa mãn truy vấn không? (xem bên dưới) |
Mảng có thỏa mãn truy vấn không? (Cổ lưu của |
người vận hành&&
, @
và<@
tương đương vớiPostgreSQL24425_24671
The@@
và~ ~
Toán tử kiểm tra xem một mảng có thỏa mãnTruy vấn, được biểu thị bằng giá trị của kiểu dữ liệu chuyên dụngquery_int
. MỘTTruy vấnbao gồm các giá trị số soi kèo bóng đá truoctran được kiểm tra so với các phần tử của mảng, có thể kết hợp bằng cách sử dụng các toán tử&
(và),|
(hoặc) và!
(không). Điểm số có thể được sử dụng khi cần thiết.1 & (2 | 3)
khớp với soi kèo bóng đá truoctran có chứa 1 và cũng chứa 2 hoặc 3.
intarray
Cung cấp hỗ trợ chỉ mục cho&&
, @
và@@
toán tử, cũng như bình đẳng mảng thông thường.
Hai lớp toán tử chỉ số GIST được tham số được cung cấp:gist__int_ops
(được sử dụng theo mặc định) phù hợp cho soi kèo bóng đá truoctran bộ dữ liệu cỡ nhỏ đến trung bình, trong khigist__intbig_ops
Sử dụng chữ ký lớn hơn và phù hợp hơn để lập chỉ mục soi kèo bóng đá truoctran tập dữ liệu lớn (nghĩa là soi kèo bóng đá truoctran cột chứa một số lượng lớn soi kèo bóng đá truoctran giá trị mảng riêng biệt). Việc triển khai sử dụng cấu trúc dữ liệu rd-cây với nén mất tích hợp.
gist__int_ops
xấp xỉ một số soi kèo bóng đá truoctran được đặt dưới dạng một mảng các phạm vi số soi kèo bóng đá truoctran. Tham số số soi kèo bóng đá truoctran tùy chọn của nóNumRanges
Xác định số lượng phạm vi tối đa trong một khóa chỉ mục. Giá trị mặc định củaNumRanges
là 100. Các giá trị hợp lệ nằm trong khoảng từ 1 đến 253. Sử dụng soi kèo bóng đá truoctran lớn hơn làm khóa chỉ số GIST dẫn đến một tìm kiếm chính xác hơn (quét một phần nhỏ hơn của chỉ số và ít trang đống hơn), với chi phí của một chỉ số lớn hơn.
gist__intbig_ops
xấp xỉ một số soi kèo bóng đá truoctran được đặt dưới dạng chữ ký bitmap. Tham số số soi kèo bóng đá truoctran tùy chọn của nóSiglen
Xác định độ dài chữ ký trong byte. Độ dài chữ ký mặc định là 16 byte.
Ngoài ra còn có lớp toán tử GIN không mặc địnhGin__int_ops
, hỗ trợ soi kèo bóng đá truoctran toán tử này cũng như<@
.
Sự lựa chọn giữa lập chỉ mục GIST và GIIN phụ thuộc vào soi kèo bóng đá truoctran đặc điểm hiệu suất tương đối của GIST và GIN, được thảo luận ở nơi khác.
- Một tin nhắn có thể nằm trong một hoặc nhiềuHồiPhầnHồiTạo thông báo bảng (phím chính giữa int, phần int [], ...);
Thư mục nguồn28920_28944
Chứa bộ kiểm tra điểm chuẩn, có thể chạy đối với cài đặtPostgreSQLMáy chủ. (Nó cũng yêu cầuDBD :: PG
sẽ được cài đặt.) Để chạy:
CD .../PRINT/Intarray/Bench
Thebăng ghế.pl
Tập lệnh có nhiều tùy chọn, được hiển thị khi nó được chạy mà không có bất kỳ đối số nào.
Tất cả công việc được thực hiện bởi Teodor Sigaev (<teodor@sigaev.ru
) và Oleg Bartunov (<leg@sai.msu.su
). Nhìn thấyhttp: //www.sai.msu.su/~megera/postgres/gist/Để biết thêm thông tin. Andrey Oktyabrski đã làm rất tốt trong việc thêm soi kèo bóng đá truoctran chức năng và hoạt động mới.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.