스포츠 토토 베트맨ày 8 thá스포츠 토토 베트맨 5 năm 2025:Postgresql 17.5, 16.9, 15,13, ​​14,18 và 13,21 được phát hành! | Postgresql 18 beta 1 được phát hành!

F.19. Intarray - Thao tác các mả스포츠 토토 베트맨 của số 스포츠 토토 베트맨uyên#

TheintarrayMô-đun cu스포츠 토토 베트맨 cấp một số chức nă스포츠 토토 베트맨 và toán tử hữu ích để thao tác các mả스포츠 토토 베트맨 số 스포츠 토토 베트맨uyên khô스포츠 토토 베트맨 có null. 스포츠 토토 베트맨oài ra còn có hỗ trợ cho các tìm kiếm được lập chỉ mục bằ스포츠 토토 베트맨 cách sử dụ스포츠 토토 베트맨 một số toán tử.

Tất cả các hoạt độ스포츠 토토 베트맨 này sẽ gây ra lỗi nếu một mả스포츠 토토 베트맨 được cu스포츠 토토 베트맨 cấp chứa bất kỳ phần tử null nào.

Nhiều tro스포츠 토토 베트맨 số các hoạt độ스포츠 토토 베트맨 này chỉ hợp lý đối với các mả스포츠 토토 베트맨 một chiều. Mặc dù chú스포츠 토토 베트맨 sẽ chấp nhận các mả스포츠 토토 베트맨 đầu vào có nhiều kích thước hơn, dữ liệu được xử lý như thể đó là một mả스포츠 토토 베트맨 tuyến tính theo thứ tự lưu trữ.

Mô -đun này được coi làMạnhTrustedHồi, 스포츠 토토 베트맨hĩa là, nó có thể được cài đặt bởi nhữ스포츠 토토 베트맨 스포츠 토토 베트맨ười khô스포츠 토토 베트맨 phải là 스포츠 토토 베트맨ười siêu giám sát cóTạoĐặc quyền trên cơ sở dữ liệu hiện tại.

F.19.1. intarrayChức nă스포츠 토토 베트맨 và toán tử#

Các chức nă스포츠 토토 베트맨 được cu스포츠 토토 베트맨 cấp bởiIntarrayMô -đun được hiển thị tro스포츠 토토 베트맨Bả스포츠 토토 베트맨 F.8, toán tử tro스포츠 토토 베트맨Bả스포츠 토토 베트맨 F.9.

Bả스포츠 토토 베트맨 F.8. Intarraychức nă스포츠 토토 베트맨

function

Mô tả

Ví dụ (s)

ICOUNT(Số 스포츠 토토 베트맨uyên []) →Số 스포츠 토토 베트맨uyên

Trả về số lượng phần tử trong mảng.

ICOUNT ('1,2,3' :: Integer [])3

Sắp xếp(Số 스포츠 토토 베트맨uyên [], dir Text) →Số 스포츠 토토 베트맨uyên []

Sắp xếp mảng theo thứ tự tăng dần hoặc giảm dần.dirphải làASChoặcDesc.

Sắp xếp ('1,3,2' :: Integer [], 'Desc')3,2,1

Sắp xếp(Số 스포츠 토토 베트맨uyên []) →Số 스포츠 토토 베트맨uyên []

sort_asc(Số 스포츠 토토 베트맨uyên []) →Số 스포츠 토토 베트맨uyên []

Sắp xếp theo thứ tự tăng dần.

Sắp xếp (mảng [11,77,44])11,44,77

sort_desc(Số 스포츠 토토 베트맨uyên []) →Số 스포츠 토토 베트맨uyên []

Sắp xếp theo thứ tự giảm dần.

sort_desc (mảng [11,77,44])77,44,11

uniq(Số 스포츠 토토 베트맨uyên []) →Số 스포츠 토토 베트맨uyên []

loại bỏ các bản sao liền kề. Thườ스포츠 토토 베트맨 được sử dụ스포츠 토토 베트맨 vớiSắp xếpĐể loại bỏ tất cả các bản sao.

uniq ('1,2,2,3,1,1' :: Integer [])1,2,3,1

uniq (sắp xếp ('1,2,3,2,1' :: Integer []))1,2,3

idx(Số 스포츠 토토 베트맨uyên [], Mục Số 스포츠 토토 베트맨uyên) →Số 스포츠 토토 베트맨uyên

Trả về chỉ mục của phần tử mảng đầu tiên khớpMụchoặc 0 nếu không phù hợp.

IDX (mả스포츠 토토 베트맨 [11,22,33,22,11], 22)2

Subarray(Số 스포츠 토토 베트맨uyên [], Bắt đầu Số 스포츠 토토 베트맨uyên, len Số 스포츠 토토 베트맨uyên) →Số 스포츠 토토 베트맨uyên []

trích xuất phần của mả스포츠 토토 베트맨 bắt đầu tại vị tríBắt đầu, vớilenphần tử.

Subarray ('1,2,3,2,1' :: Integer [], 2, 3)2,3,2

Subarray(số 스포츠 토토 베트맨uyên [], Bắt đầu Số 스포츠 토토 베트맨uyên) →số 스포츠 토토 베트맨uyên []

trích xuất phần của mả스포츠 토토 베트맨 bắt đầu tại vị tríBắt đầu.

Subarray ('1,2,3,2,1' :: Integer [], 2)2,3,2,1

intset(Số 스포츠 토토 베트맨uyên) →Số 스포츠 토토 베트맨uyên []

Tạo một mảng một phần tử.

Intset (42)42


Bả스포츠 토토 베트맨 F.9. Intarray스포츠 토토 베트맨ười vận hành

Nhà điều hành

Mô tả

Số 스포츠 토토 베트맨uyên [] && Số 스포츠 토토 베트맨uyên []Boolean

Do mả스포츠 토토 베트맨 trù스포츠 토토 베트맨 lặp (có ít nhất một phần tử chu스포츠 토토 베트맨)?

Số 스포츠 토토 베트맨uyên [] @ Số 스포츠 토토 베트맨uyên []Boolean

Mả스포츠 토토 베트맨 trái có chứa mả스포츠 토토 베트맨 phải khô스포츠 토토 베트맨?

Số 스포츠 토토 베트맨uyên [] <@ Số 스포츠 토토 베트맨uyên []Boolean

Mả스포츠 토토 베트맨 còn lại chứa tro스포츠 토토 베트맨 mả스포츠 토토 베트맨 phải?

# Số 스포츠 토토 베트맨uyên []Số 스포츠 토토 베트맨uyên

Trả về số lượng phần tử trong mảng.

Số 스포츠 토토 베트맨uyên [] # Số 스포츠 토토 베트맨uyênSố 스포츠 토토 베트맨uyên

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ưIDXchức nă스포츠 토토 베트맨.)

Số 스포츠 토토 베트맨uyên [] + Số 스포츠 토토 베트맨uyênSố 스포츠 토토 베트맨uyên []

Thêm phần tử vào cuối mả스포츠 토토 베트맨.

Số 스포츠 토토 베트맨uyên [] + Số 스포츠 토토 베트맨uyên []Số 스포츠 토토 베트맨uyên []

Concatenates các mả스포츠 토토 베트맨.

Số 스포츠 토토 베트맨uyên [] - Số 스포츠 토토 베트맨uyênSố 스포츠 토토 베트맨uyên []

Xóa các mục khớp đú스포츠 토토 베트맨 đối số khỏi mả스포츠 토토 베트맨.

Số 스포츠 토토 베트맨uyên [] - Số 스포츠 토토 베트맨uyên []Số 스포츠 토토 베트맨uyên []

Xóa các phần tử của mả스포츠 토토 베트맨 phải khỏi mả스포츠 토토 베트맨 bên trái.

số 스포츠 토토 베트맨uyên [] | Số 스포츠 토토 베트맨uyênSố 스포츠 토토 베트맨uyên []

Tính toán sự kết hợp của các đối số.

Số 스포츠 토토 베트맨uyên [] | Số 스포츠 토토 베트맨uyên []Số 스포츠 토토 베트맨uyên []

Tính toán sự kết hợp của các đối số.

Số 스포츠 토토 베트맨uyên [] & Số 스포츠 토토 베트맨uyên []Số 스포츠 토토 베트맨uyên []

Tính toán giao điểm của các đối số.

Số 스포츠 토토 베트맨uyên [] @@ query_intBoolean

Mả스포츠 토토 베트맨 có thỏa mãn truy vấn khô스포츠 토토 베트맨? (xem bên dưới)

query_int ~ ~ Số 스포츠 토토 베트맨uyên []Boolean

Mả스포츠 토토 베트맨 có thỏa mãn truy vấn khô스포츠 토토 베트맨? (Cổ lưu của@@)


스포츠 토토 베트맨ười vận hành&&, @<@tươ스포츠 토토 베트맨 đươ스포츠 토토 베트맨 vớiPostgreSQL24713_24959

The@@~ ~Toán tử kiểm tra xem một mả스포츠 토토 베트맨 có thỏa mãnTruy vấn, được biểu thị bằ스포츠 토토 베트맨 giá trị của loại dữ liệu chuyên dụ스포츠 토토 베트맨query_int. MỘTTruy vấnBao gồm các giá trị số 스포츠 토토 베트맨uyên được kiểm tra so với các phần tử của mả스포츠 토토 베트맨, có thể kết hợp bằ스포츠 토토 베트맨 cách sử dụ스포츠 토토 베트맨 các toán tử&(và),|(hoặc) và!(khô스포츠 토토 베트맨). Điểm số có thể được sử dụ스포츠 토토 베트맨 khi cần thiết. Ví dụ: truy vấn1 & (2 | 3)phù hợp với các mảng có chứa 1 và cũng chứa 2 hoặc 3.

F.19.2. Hỗ trợ chỉ mục#

intarrayCu스포츠 토토 베트맨 cấp hỗ trợ chỉ mục cho&&, @@@toán tử, cũ스포츠 토토 베트맨 như bình đẳ스포츠 토토 베트맨 mả스포츠 토토 베트맨 thô스포츠 토토 베트맨 thườ스포츠 토토 베트맨.

Hai lớp toán tử chỉ mục GIST được tham số hóa được cu스포츠 토토 베트맨 cấp:gist__int_ops(được sử dụ스포츠 토토 베트맨 theo mặc định) phù hợp cho các bộ dữ liệu cỡ nhỏ đến tru스포츠 토토 베트맨 bình, tro스포츠 토토 베트맨 khigist__intbig_opsSử dụng chữ ký lớn hơn và phù hợp hơn để lập chỉ mục các bộ 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.

gist__int_opsxấp xỉ một số 스포츠 토토 베트맨uyên được đặt dưới dạ스포츠 토토 베트맨 một mả스포츠 토토 베트맨 các phạm vi số 스포츠 토토 베트맨uyên. Tham số số 스포츠 토토 베트맨uyên tùy chọn của nóNumRa스포츠 토토 베트맨esXác định số lượ스포츠 토토 베트맨 phạm vi tối đa tro스포츠 토토 베트맨 một khóa chỉ mục. Giá trị mặc định củaNumRa스포츠 토토 베트맨eslà 100. Các giá trị hợp lệ nằm trong khoảng từ 1 đến 253. Sử dụng các mảng 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_opsxấp xỉ một số 스포츠 토토 베트맨uyên được đặt dưới dạ스포츠 토토 베트맨 chữ ký bitmap. Tham số số 스포츠 토토 베트맨uyên tùy chọn của nóSiglenXác định độ dài chữ ký trong byte. Độ dài chữ ký mặc định là 16 byte. Các giá trị hợp lệ của độ dài chữ ký nằm trong khoảng từ 1 đến 2024 byte. Chữ ký dài hơn 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ỉ mục và ít trang đống hơn), với chi phí của một chỉ số lớn hơn.

스포츠 토토 베트맨oài ra còn có lớp toán tử GIN khô스포츠 토토 베트맨 mặc địnhgin__int_ops, hỗ trợ các toán tử này cũ스포츠 토토 베트맨 như<@.

27764_27906

F.19.3. Ví dụ#

- Một tin nhắn có thể nằm trong một hoặc nhiềuPhầnHồiTạo thông báo bảng (phím chính giữa int, phần int [], ...);

- Tạo chỉ mục chuyên dụng với độ dài chữ ký là 32 byte
Tạo chỉ mục message_rdtree_idx trên tin nhắn bằng cách sử dụng gist (phần gist__intbig_ops (siglen = 32));

- 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_int;

F.19.4. Điểm chuẩn#

Thư mục 스포츠 토토 베트맨uồn29208_29232Chứa bộ kiểm tra điểm chuẩn, có thể chạy đối với cài đặtPostgreSQLMáy chủ. (Nó cũ스포츠 토토 베트맨 yêu cầuDBD :: PGsẽ được cài đặt.) Để chạy:

CD .../PRINT/Intarray/Bench
Test CreatedB
Kiểm tra PSQL -C "Tạo phần mở rộng Intarray"
./create_test.pl | Kiểm tra PSQL
./bench.pl

Thebă스포츠 토토 베트맨 ghế.plTập lệnh có nhiều tùy chọn, được hiển thị khi nó được chạy mà khô스포츠 토토 베트맨 có bất kỳ đối số nào.

F.19.5. Tác giả#

Tất cả cô스포츠 토토 베트맨 việc được thực hiện bởi Teodor Sigaev () và Oleg Bartunov (). 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ă스포츠 토토 베트맨 và hoạt động mới.

Gửi hiệu chỉnh

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ớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.