The범퍼카 토토array
Mô-đun cung cấp một số hàm và toán tử hữu ích để thao tác các mảng số nguyên 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ả các 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 các mảng một chiều. Mặc dù chúng sẽ chấp nhận các mảng đầ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ữ.
범퍼카 토토array
Chức năng và toán tửCác chức năng được cung cấp bởi범퍼카 토토array
Mô -đun được hiển thị trongBảng F.9, toán tử trongBảng F.10.
Bảng F.9. 범퍼카 토토array
Chức năng
Bảng F.10. 범퍼카 토토array
toán tử
Nhà điều hành | return | Mô tả |
---|---|---|
범퍼카 토토 [] && 범퍼카 토토 [] |
Boolean |
chồng chéo -TRUE Nếu mảng có ít nhất một phần tử chung |
범퍼카 토토 [] @ 범퍼카 토토 [] |
Boolean |
chứa -TRUE Nếu mảng trái chứa mảng phải |
범퍼카 토토 [] <@ 범퍼카 토토 [] |
Boolean |
chứa -TRUE Nếu mảng trái được chứa trong mảng phải |
# 범퍼카 토토 [] |
범퍼카 토토 |
Số phần tử trong mảng |
범퍼카 토토 [] # 범퍼카 토토 |
범퍼카 토토 |
index (giống nhưidx chức năng) |
범퍼카 토토 [] + 범퍼카 토토 |
범퍼카 토토 [] |
Đẩy phần tử vào mảng (thêm nó vào cuối mảng) |
범퍼카 토토 [] + 범퍼카 토토 [] |
범퍼카 토토 [] |
Concatenation (mảng phải được thêm vào cuối bên trái) |
범퍼카 토토 [] - 범퍼카 토토 |
범퍼카 토토 [] |
Xóa các mục khớp phù hợp với đối số khỏi mảng |
범퍼카 토토 [] - 범퍼카 토토 [] |
범퍼카 토토 [] |
Xóa các phần tử của mảng phải khỏi trái |
범퍼카 토토 [] | 범퍼카 토토 |
범퍼카 토토 [] |
Liên minh đối số |
범퍼카 토토 [] | 범퍼카 토토 [] |
범퍼카 토토 [] |
Liên minh mảng |
범퍼카 토토 [] & 범퍼카 토토 [] |
범퍼카 토토 [] |
Giao lộ của mảng |
범퍼카 토토 [] @@ query_범퍼카 토토 |
Boolean |
true Nếu mảng thỏa mãn truy vấn (xem bên dưới) |
query_범퍼카 토토 ~ ~ 범퍼카 토토 [] |
Boolean |
True Nếu mảng thỏa mãn truy vấn (người giao lưu@@ ) |
(trước PostgreSQL 8.2, toán tử ngăn chặn@
và<@
được gọi tương ứng@
và~
. Những cái tên này vẫn có sẵn, nhưng không được dùng và cuối cùng sẽ được nghỉ hưu. Lưu ý rằng các tên cũ được đảo ngược từ Công ước trước đây là các loại dữ liệu hình học cốt lõi!)
Người vận hành&&
, @
và<@
tương đương vớiPostgreSQL20967_21213
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 loại dữ liệu chuyên dụngquery_범퍼카 토토
. MỘTTruy vấnBao gồm các giá trị số nguyên được kiểm tra đối 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. Ví dụ: truy vấn1 & (2 | 3)
khớp với các mảng có chứa 1 và cũng chứa 2 hoặc 3.
범퍼카 토토array
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ỉ mục GIST được cung cấp:gist__범퍼카 토토_ops
(được sử dụng theo mặc định) phù hợp cho các bộ dữ liệu cỡ nhỏ đến trung bình, trong khigist__범퍼카 토토big_ops
Sử dụng chữ ký lớn hơn và phù hợp hơn để lập chỉ mục các tập dữ liệu lớn (nghĩa là các cột chứa một số lượng lớn các 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.
Ngoài ra còn có lớp toán tử GIN không mặc địnhgin__범퍼카 토토_ops
Hỗ trợ cùng một toán tử.
22967_23109
- Một tin nhắn có thể nằm trong một hoặc nhiềuPhầnVoiTạo thông báo bảng (phím chính giữa 범퍼카 토토, phần 범퍼카 토토 [], ...);
- Tạo chỉ mục chuyên dụng
Tạo chỉ mục message_rdtree_idx trên tin nhắn bằng cách sử dụng gist (phần gist__범퍼카 토토_ops);
- Chọn tin nhắn trong Phần 1 hoặc 2 - Toán tử chồng chéo
Chọn message.mid từ tin nhắn trong đó message.sections && '1,2';
- Chọn Tin nhắn trong Phần 1 và 2 - Chứa Toán tử
Chọn message.mid từ tin nhắn trong đó message.sections @ '1,2';
- giống nhau, sử dụng toán tử truy vấn
Chọn message.mid từ tin nhắn trong đó tin nhắn.sections @@ '1 & 2' :: query_범퍼카 토토;
Thư mục nguồn24252_24276
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/범퍼카 토토array/Bench Test CreatedB Kiểm tra PSQL -C "Tạo phần mở rộng 범퍼카 토토array" ./create_test.pl | Kiểm tra PSQL ./bench.pl
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á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 các chức năng và hoạt động mới.