Brinlà viết tắt của chỉ mục phạm vi khối.Brinđược thiết kế để xử lý kèo bóng đá cúp c2 bảng rất lớn trong đó kèo bóng đá cúp c2 cột nhất định có một số tương quan tự nhiên với vị trí vật lý của chúng trong bảng.
Brinhoạt động theo thuật ngữPhạm vi khối(hoặcHồiPhạm vi trangHồi). Phạm vi khối là một nhóm kèo bóng đá cúp c2 trang nằm liền kề về mặt vật lý trong bảng;
Brin9569_9733nhất quánVới kèo bóng đá cúp c2 điều kiện truy vấn. Người thực thi truy vấn chịu trách nhiệm kiểm tra lại kèo bóng đá cúp c2 bộ dữ liệu này và loại bỏ những người không phù hợp với kèo bóng đá cúp c2 điều kiện truy vấn - nói cách khác, kèo bóng đá cúp c2 chỉ mục này là mất mát.BrinChỉ mục rất nhỏ, quét chỉ mục thêm ít chi phí so với quét tuần tự, nhưng có thể tránh quét kèo bóng đá cúp c2 phần lớn của bảng được biết là không chứa kèo bóng đá cúp c2 bộ dữ liệu phù hợp.
dữ kèo bóng đá cúp c2 cụ thể mà ABrinIndex sẽ lưu trữ, cũng như kèo bóng đá cúp c2 truy vấn cụ thể mà chỉ mục sẽ có thể đáp ứng, phụ thuộc vào lớp toán tử được chọn cho mỗi cột của chỉ mục. kèo bóng đá cúp c2 loại dữ liệu có thứ tự sắp xếp tuyến tính có thể có kèo bóng đá cúp c2 lớp toán tử lưu trữ giá trị tối thiểu và tối đa trong mỗi phạm vi khối;
Kích thước của phạm vi khối được xác định tại thời gian tạo chỉ mục bằngpages_per_range
Tham số lưu trữ. Số lượng mục nhập chỉ mục sẽ bằng kích thước của mối quan hệ trong kèo bóng đá cúp c2 trang chia cho giá trị đã chọn chopages_per_range
. Do đó, số lượng càng nhỏ, chỉ số càng lớn (vì cần lưu trữ nhiều mục chỉ mục hơn), nhưng đồng thời, dữ kèo bóng đá cúp c2 tóm tắt được lưu trữ có thể chính xác hơn và có thể bỏ qua nhiều khối dữ kèo bóng đá cúp c2 hơn trong quá trình quét chỉ mục.
Tại thời điểm tạo, tất cả kèo bóng đá cúp c2 trang đống hiện có được quét và một bộ chỉ số tóm tắt được tạo cho từng phạm vi, bao gồm cả phạm vi có thể hoàn thành ở cuối. Vì kèo bóng đá cúp c2 trang mới được lấp đầy với dữ liệu, kèo bóng đá cúp c2 phạm vi trang đã được tóm tắt sẽ khiến thông tin tóm tắt được cập nhật với dữ liệu từ kèo bóng đá cúp c2 bộ dữ liệu mới.
Có một số cách để kích hoạt tóm tắt ban đầu của một phạm vi trang. Nếu bảng được hút bụi, bằng tay hoặc bằng cáchAutovacuum, tất cả kèo bóng đá cúp c2 phạm vi trang không phân thủ hiện có được tóm tắt. Ngoài ra, nếu chỉ mụcAutosummarizeTham số được bật, không phải là mặc định, bất cứ khi nào Autovacuum chạy trong cơ sở dữ liệu đó, việc tóm tắt sẽ xảy ra đối với tất cả kèo bóng đá cúp c2 phạm vi trang không phân thủ đã được điền, bất kể bản thân bảng có được xử lý bởi Autovacuum hay không; Xem bên dưới.
Cuối cùng, kèo bóng đá cúp c2 chức năng sau có thể được sử dụng (trong khi kèo bóng đá cúp c2 chức năng này chạy,search_pathđược thay đổi tạm thời thànhpg_catalog, pg_temp
):
brin_summarize_new_values (regclass) trong đó tóm tắt tất cả kèo bóng đá cúp c2 phạm vi không phân thủ; |
brin_summarize_range (regclass, bigint) chỉ tóm tắt phạm vi chứa trang đã cho, nếu nó không phân loại. |
Khi tự động hóa được bật, yêu cầu được gửi đếnAutovacuum
Để thực hiện việc tóm tắt được nhắm mục tiêu cho phạm vi khối khi phát hiện thấy mục đầu tiên của trang đầu tiên của phạm vi khối tiếp theo, sẽ được thực hiện vào lần tiếp theo một công nhân tự động hoàn thành chạy trong cùng một cơ sở dữ kèo bóng đá cúp c2. Nếu hàng đợi yêu cầu đã đầy, yêu cầu không được ghi lại và tin nhắn được gửi đến nhật ký máy chủ:
Log: Yêu cầu Tóm tắt phạm vi Brin cho INDEX "brin_wi_idx" Trang 128 không được ghi lại
14024_14180
Ngược lại, một phạm vi có thể được khử trùng bằng cách sử dụngbrin_desummarize_range (regclass, bigint)
Hàm, rất hữu ích khi bộ chỉ số không còn là một biểu diễn rất tốt vì kèo bóng đá cúp c2 giá trị hiện có đã thay đổi. Nhìn thấyPhần 9.28.8Để biết chi tiết.
CorePostgreSQLPhân phối bao gồmBrinkèo bóng đá cúp c2 lớp toán tử hiển thị trongBảng 64.4.
TheMinmaxkèo bóng đá cúp c2 lớp toán tử lưu trữ tối thiểu và kèo bóng đá cúp c2 giá trị tối đa xuất hiện trong cột được lập chỉ mục trong phạm vi. TheBao gồmkèo bóng đá cúp c2 lớp toán tử lưu trữ một giá trị bao gồm kèo bóng đá cúp c2 giá trị trong cột được lập chỉ mục trong phạm vi. TheBloomkèo bóng đá cúp c2 lớp toán tử Xây dựng bộ lọc Bloom cho tất cả kèo bóng đá cúp c2 giá trị trong phạm vi. TheMinmax-Multikèo bóng đá cúp c2 lớp toán tử lưu trữ nhiều giá trị tối thiểu và tối đa, biểu thị kèo bóng đá cúp c2 giá trị xuất hiện trong cột được lập chỉ mục trong phạm vi.
Bảng 64.4. Tích hợpBrinkèo bóng đá cúp c2 lớp vận hành
tên | Toán tử có thể lập chỉ mục |
---|---|
bit_minmax_ops |
= (bit, bit) |
<(bit, bit) |
|
(bit, bit) |
|
<= (bit, bit) |
|
= (bit, bit) |
|
box_inclusion_ops |
@ (hộp, điểm) |
<< (hộp, hộp) |
|
& <(hộp, hộp) |
|
& (hộp, hộp) |
|
(hộp, hộp) |
|
<@ (hộp, hộp) |
|
@ (hộp, hộp) |
|
~ = (hộp, hộp) |
|
&& (hộp, hộp) |
|
<< | (hộp, hộp) |
|
& <| (hộp, hộp) |
|
| & (hộp, hộp) |
|
| (hộp, hộp) |
|
bpchar_bloom_ops |
= (ký tự, ký tự) |
bpchar_minmax_ops |
= (ký tự, ký tự) |
<(ký tự, ký tự) |
|
<= (ký tự) |
|
(ký tự, ký tự) |
|
= (ký tự, ký tự) |
|
bytea_bloom_ops |
= (bytea, bytea) |
bytea_minmax_ops |
= (bytea, bytea) |
<(bytea, bytea) |
|
<= (bytea, bytea) |
|
(bytea, bytea) |
|
= (bytea, bytea) |
|
char_bloom_ops |
= ("char", "char") |
char_minmax_ops |
= ("char", "char") |
<("char", "char") |
|
<= ("char", "char") |
|
("Char", "Char") |
|
= ("Char", "Char") |
|
date_bloom_ops |
= (ngày, ngày) |
date_minmax_ops |
= (ngày, ngày) |
<(ngày, ngày) |
|
<= (ngày, ngày) |
|
(ngày, ngày) |
|
= (ngày, ngày) |
|
date_minmax_multi_ops |
= (ngày, ngày) |
<(ngày, ngày) |
|
<= (ngày, ngày) |
|
(ngày, ngày) |
|
= (ngày, ngày) |
|
float4_bloom_ops |
= (float4, float4) |
float4_minmax_ops |
= (float4, float4) |
<(float4, float4) |
|
(float4, float4) |
|
<= (float4, float4) |
|
= (float4, float4) |
|
float4_minmax_multi_ops |
= (float4, float4) |
<(float4, float4) |
|
(float4, float4) |
|
<= (float4, float4) |
|
= (float4, float4) |
|
float8_bloom_ops |
= (float8, float8) |
float8_minmax_ops |
= (float8, float8) |
<(float8, float8) |
|
<= (float8, float8) |
|
(float8, float8) |
|
= (float8, float8) |
|
float8_minmax_multi_ops |
= (float8, float8) |
<(float8, float8) |
|
<= (float8, float8) |
|
(float8, float8) |
|
= (float8, float8) |
|
inet_inclusion_ops |
<< (inet, inet) |
<< = (inet, inet) |
|
(inet, inet) |
|
= (inet, inet) |
|
= (inet, inet) |
|
&& (inet, inet) |
|
inet_bloom_ops |
= (inet, inet) |
INET_MINMAX_OPS |
= (inet, inet) |
<(inet, inet) |
|
<= (inet, inet) |
|
(inet, inet) |
|
= (inet, inet) |
|
inet_minmax_multi_ops |
= (inet, inet) |
<(inet, inet) |
|
<= (inet, inet) |
|
(inet, inet) |
|
= (inet, inet) |
|
int2_bloom_ops |
= (int2, int2) |
INT2_MINMAX_OPS |
= (int2, int2) |
<(int2, int2) |
|
(int2, int2) |
|
<= (int2, int2) |
|
= (int2, int2) |
|
INT2_MINMAX_MULTI_OPS |
= (int2, int2) |
<(int2, int2) |
|
(int2, int2) |
|
<= (int2, int2) |
|
= (int2, int2) |
|
int4_bloom_ops |
= (int4, int4) |
INT4_MINMAX_OPS |
= (int4, int4) |
<(int4, int4) |
|
(int4, int4) |
|
<= (int4, int4) |
|
= (int4, int4) |
|
INT4_MINMAX_MULTI_OPS |
= (int4, int4) |
<(int4, int4) |
|
(int4, int4) |
|
<= (int4, int4) |
|
= (int4, int4) |
|
int8_bloom_ops |
= (Bigint, Bigint) |
INT8_MINMAX_OPS |
= (Bigint, Bigint) |
<(Bigint, Bigint) |
|
(Bigint, Bigint) |
|
<= (BIGINT, BIGINT) |
|
= (Bigint, Bigint) |
|
INT8_MINMAX_MULTI_OPS |
= (Bigint, Bigint) |
<(Bigint, Bigint) |
|
(Bigint, Bigint) |
|
<= (Bigint, Bigint) |
|
= (BIGINT, BIGINT) |
|
interval_bloom_ops |
= (khoảng thời gian, khoảng thời gian) |
interval_minmax_ops |
= (khoảng thời gian, khoảng thời gian) |
<(khoảng thời gian, khoảng thời gian) |
|
<= (khoảng thời gian, khoảng thời gian) |
|
(khoảng thời gian, khoảng thời gian) |
|
= (khoảng thời gian, khoảng thời gian) |
|
interval_minmax_multi_ops |
= (khoảng thời gian, khoảng thời gian) |
<(khoảng thời gian, khoảng thời gian) |
|
<= (khoảng thời gian, khoảng thời gian) |
|
(khoảng thời gian, khoảng thời gian) |
|
= (khoảng thời gian, khoảng thời gian) |
|
macaddr_bloom_ops |
= (macaddr, macaddr) |
macaddr_minmax_ops |
= (macaddr, macaddr) |
<(macaddr, macaddr) |
|
<= (macaddr, macaddr) |
|
(macaddr, macaddr) |
|
= (macaddr, macaddr) |
|
macaddr_minmax_multi_ops |
= (macaddr, macaddr) |
<(macaddr, macaddr) |
|
<= (macaddr, macaddr) |
|
(macaddr, macaddr) |
|
= (macaddr, macaddr) |
|
macaddr8_bloom_ops |
= (macaddr8, macaddr8) |
macaddr8_minmax_ops |
= (macaddr8, macaddr8) |
<(macaddr8, macaddr8) |
|
<= (macaddr8, macaddr8) |
|
(macaddr8, macaddr8) |
|
= (macaddr8, macaddr8) |
|
macaddr8_minmax_multi_ops |
= (macaddr8, macaddr8) |
<(macaddr8, macaddr8) |
|
<= (macaddr8, macaddr8) |
|
(macaddr8, macaddr8) |
|
= (macaddr8, macaddr8) |
|
name_bloom_ops |
= (tên, tên) |
name_minmax_ops |
= (tên, tên) |
<(tên, tên) |
|
<= (tên, tên) |
|
(tên, tên) |
|
= (tên, tên) |
|
numeric_bloom_ops |
= (số, số) |
numeric_minmax_ops |
= (số, số) |
<(số, số) |
|
<= (số, số) |
|
(số, số) |
|
= (số, số) |
|
numeric_minmax_multi_ops |
= (số, số) |
<(số, số) |
|
<= (số, số) |
|
(số, số) |
|
= (số, số) |
|
oid_bloom_ops |
= (oid, oid) |
OID_MINMAX_OPS |
= (oid, oid) |
<(oid, oid) |
|
(oid, oid) |
|
<= (oid, oid) |
|
= (oid, oid) |
|
OID_MINMAX_MULTI_OPS |
= (oid, oid) |
<(oid, oid) |
|
(oid, oid) |
|
<= (oid, oid) |
|
= (oid, oid) |
|
PG_LSN_BLOOM_OPS |
= (pg_lsn, pg_lsn) |
PG_LSN_MINMAX_OPS |
= (pg_lsn, pg_lsn) |
<(pg_lsn, pg_lsn) |
|
(pg_lsn, pg_lsn) |
|
<= (pg_lsn, pg_lsn) |
|
= (pg_lsn, pg_lsn) |
|
PG_LSN_MINMAX_MULTI_OPS |
= (pg_lsn, pg_lsn) |
<(pg_lsn, pg_lsn) |
|
(pg_lsn, pg_lsn) |
|
<= (pg_lsn, pg_lsn) |
|
= (pg_lsn, pg_lsn) |
|
Range_inclusion_ops |
= (Anyrange, Anyrange) |
<(Anyrange, Anyrange) |
|
<= (Anyrange, Anyrange) |
|
= (Anyrange, Anyrange) |
|
(Anyrange, Anyrange) |
|
&& (Anyrange, Anyrange) |
|
@ (Anyrange, AnyEuity) |
|
@ (Anyrange, Anyrange) |
|
<@ (Anyrange, Anyrange) |
|
<< (Anyrange, Anyrange) |
|
(Anyrange, Anyrange) |
|
& <(Anyrange, Anyrange) |
|
& (Anyrange, Anyrange) |
|
- |- (Anyrange, Anyrange) |
|
text_bloom_ops |
= (văn bản, văn bản) |
text_minmax_ops |
= (văn bản, văn bản) |
<(văn bản, văn bản) |
|
<= (văn bản, văn bản) |
|
(văn bản, văn bản) |
|
= (văn bản, văn bản) |
|
TID_BLOOM_OPS |
= (tid, tid) |
TID_MINMAX_OPS |
= (tid, tid) |
<(tid, tid) |
|
(tid, tid) |
|
<= (tid, tid) |
|
= (tid, tid) |
|
TID_MINMAX_MULTI_OPS |
= (tid, tid) |
<(tid, tid) |
|
(tid, tid) |
|
<= (tid, tid) |
|
= (tid, tid) |
|
Timestamp_bloom_ops |
= (dấu thời gian, dấu thời gian) |
Timestamp_MinMax_ops |
= (dấu thời gian, dấu thời gian) |
<(Timestamp, Timestamp) |
|
<= (dấu thời gian, dấu thời gian) |
|
(dấu thời gian, dấu thời gian) |
|
= (dấu thời gian, dấu thời gian) |
|
Timestamp_MinMax_Multi_ops |
= (dấu thời gian, dấu thời gian) |
<(Timestamp, Timestamp) |
|
<= (dấu thời gian, dấu thời gian) |
|
(dấu thời gian, dấu thời gian) |
|
= (dấu thời gian, dấu thời gian) |
|
Timestampz_bloom_ops |
= (TIMESTAMPTZ, TIMESTAMPTZ) |
TIMESTAMPTZ_MINMAX_OPS |
= (TIMESTAMPTZ, TIMESTAMPTZ) |
<(TIMESTAMPTZ, TIMESTAMPTZ) |
|
<= (TIMESTAMPTZ, TIMESTAMPTZ) |
|
(TIMESTAMPTZ, TIMESTAMPTZ) |
|
= (TIMESTAMPTZ, TIMESTAMPTZ) |
|
TIMESTAMPTZ_MINMAX_MULTI_OPS |
= (TIMESTAMPTZ, TIMESTAMPTZ) |
<(TIMESTAMPTZ, TIMESTAMPTZ) |
|
<= (TIMESTAMPTZ, TIMESTAMPTZ) |
|
(TIMESTAMPTZ, TIMESTAMPTZ) |
|
= (Timestampptz, Timestamptz) |
|
time_bloom_ops |
= (thời gian, thời gian) |
time_minmax_ops |
= (thời gian, thời gian) |
<(Thời gian, thời gian) |
|
<= (thời gian, thời gian) |
|
(thời gian, thời gian) |
|
= (thời gian, thời gian) |
|
time_minmax_multi_ops |
= (thời gian, thời gian) |
<(thời gian, thời gian) |
|
<= (thời gian, thời gian) |
|
(thời gian, thời gian) |
|
= (thời gian, thời gian) |
|
Timetz_Bloom_ops |
= (Timetz, Timetz) |
Timetz_MinMax_ops |
= (Timetz, Timetz) |
<(Timetz, Timetz) |
|
<= (Timetz, Timetz) |
|
(Timetz, Timetz) |
|
= (Timetz, Timetz) |
|
Timetz_MinMax_Multi_ops |
= (Timetz, Timetz) |
<(Timetz, Timetz) |
|
<= (Timetz, Timetz) |
|
(Timetz, Timetz) |
|
= (Timetz, Timetz) |
|
UUID_BLOOM_OPS |
= (UUID, UUID) |
UUID_MINMAX_OPS |
= (UUID, UUID) |
<(UUID, UUID) |
|
(UUID, UUID) |
|
<= (UUID, UUID) |
|
= (UUID, UUID) |
|
UUID_MINMAX_MULTI_OPS |
= (UUID, UUID) |
<(UUID, UUID) |
|
(UUID, UUID) |
|
<= (UUID, UUID) |
|
= (UUID, UUID) |
|
varbit_minmax_ops |
= (varbit, varbit) |
<(Varbit, Varbit) |
|
(Varbit, Varbit) |
|
<= (varbit, varbit) |
|
= (varbit, varbit) |
Một số lớp toán tử tích hợp cho phép chỉ định kèo bóng đá cúp c2 tham số ảnh hưởng đến hành vi của lớp toán tử. Mỗi lớp toán tử có bộ tham số được phép riêng.Bloom
vàMinmax-Multi
kèo bóng đá cúp c2 lớp toán tử cho phép chỉ định tham số:
kèo bóng đá cúp c2 lớp toán tử Bloom Chấp nhận kèo bóng đá cúp c2 tham số sau:
N_DISTINC_PER_RANGE
Xác định số lượng giá trị không null khác biệt trong phạm vi khối, được sử dụng bởiBrinBloom Indexes để định cỡ bộ lọc Bloom. Nó hoạt động tương tự nhưn_distince
Tùy chọn choBảng thay đổi. Khi được đặt thành một giá trị dương, mỗi phạm vi khối được giả sử chứa số lượng giá trị không null riêng biệt này.-0.1
và số lượng tối thiểu của kèo bóng đá cúp c2 giá trị không có null riêng biệt là16
.
false_positive_rate
Xác định tỷ lệ dương tính giả mong muốn được sử dụng bởiBrinBloom Indexes để định cỡ bộ lọc Bloom. kèo bóng đá cúp c2 giá trị phải nằm trong khoảng từ 0,0001 đến 0,25.
kèo bóng đá cúp c2 lớp toán tử Minmax-Multi Chấp nhận kèo bóng đá cúp c2 tham số sau:
value_per_range
Xác định số lượng giá trị tối đa được lưu trữ bởiBrinMinmax chỉ mục để tóm tắt phạm vi khối. Mỗi giá trị có thể đại diện cho một điểm hoặc một ranh giới của một khoảng.
TheBrinGiao diện có mức độ trừu tượng cao, yêu cầu người thực hiện phương thức truy cập chỉ để thực hiện ngữ nghĩa của kiểu dữ kèo bóng đá cúp c2 được truy cập. TheBrinBản thân lớp chăm sóc sự đồng thời, ghi nhật ký và tìm kiếm cấu trúc chỉ mục.
Tất cả những gì cần thiết để có đượcBrinPhương pháp truy cập làm việc là thực hiện một số phương thức do người dùng xác định, xác định hành vi của kèo bóng đá cúp c2 giá trị tóm tắt được lưu trữ trong chỉ mục và cách chúng tương tác với kèo bóng đá cúp c2 khóa quét. Tóm lại,BrinKết hợp độ mở rộng với tính tổng quát, tái sử dụng mã và giao diện sạch.
Có bốn phương thức mà một lớp toán tử choBrinPhải cung cấp:
brinopcinfo *opcinfo (oid type_oid)
Trả về thông tin nội bộ về dữ liệu tóm tắt của kèo bóng đá cúp c2 cột được lập chỉ mục. Giá trị trả về phải trỏ đến palloc'dBrinopcinfo
, có định nghĩa này:
Typedef Struct Brinopcinfo
Brinopcinfo
.oi_opaque
Có thể được sử dụng bởi kèo bóng đá cúp c2 thói quen của lớp vận hành để truyền thông tin giữa kèo bóng đá cúp c2 chức năng hỗ trợ trong quá trình quét chỉ mục.
58334_58414
58458_58729NKEYS
tham số.
58845_58912
58956_59178
59249_59328
Cho một bộ chỉ số và giá trị được lập chỉ mục, sửa đổi thuộc tính được chỉ định của bộ tuple để nó đại diện cho giá trị mới. Nếu bất kỳ sửa đổi nào được thực hiện thành tuple,TRUE
được trả về.
Hợp nhất hai tổng chỉ mục. Cho hai bộ dữ kèo bóng đá cúp c2 chỉ mục, sửa đổi thuộc tính được chỉ định của đầu tiên trong số chúng để nó đại diện cho cả hai bộ dữ kèo bóng đá cúp c2.
Lớp toán tử choBrinCó thể chỉ định phương thức sau:
Tùy chọn void (local_relopts *relopts)
Xác định một tập hợp kèo bóng đá cúp c2 tham số có thể nhìn thấy người dùng có thể điều khiển hành vi của lớp toán tử.
TheTùy chọn
Hàm được chuyển một con trỏ đến Alocal_relopts
Struct, cần được lấp đầy với một tập hợp kèo bóng đá cúp c2 tùy chọn cụ thể của lớp vận hành. kèo bóng đá cúp c2 tùy chọn có thể được truy cập từ kèo bóng đá cúp c2 chức năng hỗ trợ khác bằng cách sử dụngPG_HAS_OPCLASS_OPTES ()
vàPG_GET_OPCLASS_OPTES ()
Macros.
Vì cả hai trích xuất chính của kèo bóng đá cúp c2 giá trị được lập chỉ mục và biểu diễn của khóa trongBrinlà linh hoạt, chúng có thể phụ thuộc vào kèo bóng đá cúp c2 tham số do người dùng chỉ định.
Phân phối cốt lõi bao gồm hỗ trợ cho bốn loại lớp vận hành: Minmax, Minmax-Multi, Inclusion và Bloom. kèo bóng đá cúp c2 định nghĩa của lớp toán tử sử dụng chúng được vận chuyển cho kèo bóng đá cúp c2 loại dữ liệu trong core khi thích hợp.
kèo bóng đá cúp c2 lớp toán tử thực hiện kèo bóng đá cúp c2 ngữ nghĩa hoàn toàn khác nhau cũng có thể, với điều kiện triển khai của bốn chức năng hỗ trợ chính được mô tả ở trên được viết. Lưu ý rằng khả năng tương thích ngược trên kèo bóng đá cúp c2 bản phát hành chính không được đảm bảo: ví dụ, kèo bóng đá cúp c2 chức năng hỗ trợ bổ sung có thể được yêu cầu trong kèo bóng đá cúp c2 bản phát hành sau.
61917_62103Bảng 64.5. Tất cả kèo bóng đá cúp c2 thành viên của lớp toán tử (chức năng và toán tử) là bắt buộc.
Bảng 64.5. Chức năng và số hỗ trợ cho kèo bóng đá cúp c2 lớp toán tử minmax
Thành viên lớp vận kèo bóng đá cúp c2 | Đối tượng |
---|---|
Hỗ trợ chức năng 1 | Hàm nội bộbrin_minmax_opcinfo () |
Hỗ trợ chức năng 2 | Hàm nội bộbrin_minmax_add_value () |
Hỗ trợ chức năng 3 | Hàm nội bộbrin_minmax_consistent () |
Hỗ trợ chức năng 4 | Hàm nội bộbrin_minmax_union () |
Chiến lược vận kèo bóng đá cúp c2 1 | Nhà điều kèo bóng đá cúp c2 ít hơn |
Chiến lược vận kèo bóng đá cúp c2 2 | Nhà điều kèo bóng đá cúp c2 ít hơn hoặc không bằng nhau để |
Chiến lược vận kèo bóng đá cúp c2 3 | Nhà điều kèo bóng đá cúp c2 bằng |
Chiến lược vận kèo bóng đá cúp c2 4 | Nhà điều kèo bóng đá cúp c2 Greater-So-Or-Equal-to |
Chiến lược vận kèo bóng đá cúp c2 5 | Nhà điều kèo bóng đá cúp c2 Greater-so với |
Để viết một lớp toán tử cho một loại dữ liệu phức tạp có kèo bóng đá cúp c2 giá trị bao gồm trong một loại khác, có thể sử dụng kèo bóng đá cúp c2 hàm hỗ trợ bao gồm cùng với kèo bóng đá cúp c2 toán tử tương ứng, như thể hiện trongBảng 64.6. Nó chỉ yêu cầu một chức năng bổ sung, có thể được viết bằng bất kỳ ngôn ngữ nào.
Bảng 64.6. Chức năng và số hỗ trợ cho kèo bóng đá cúp c2 lớp toán tử bao gồm
Thành viên lớp vận kèo bóng đá cúp c2 | Đối tượng | phụ thuộc |
---|---|---|
Hỗ trợ chức năng 1 | Hàm nội bộbrin_inclusion_opcinfo () |
|
Hỗ trợ chức năng 2 | Hàm nội bộbrin_inclusion_add_value () |
|
Hỗ trợ chức năng 3 | Hàm nội bộbrin_inclusion_consistent () |
|
Hỗ trợ chức năng 4 | Hàm nội bộbrin_inclusion_union () |
|
Hỗ trợ chức năng 11 | hàm để hợp nhất hai phần tử | |
Hỗ trợ chức năng 12 | Hàm tùy chọn để kiểm tra xem hai phần tử có phải được hợp nhất không | |
Hỗ trợ chức năng 13 | Hàm tùy chọn để kiểm tra xem một phần tử có được chứa trong một phần tử khác | |
Hỗ trợ chức năng 14 | Hàm tùy chọn để kiểm tra xem một phần tử có trống không | |
Chiến lược vận kèo bóng đá cúp c2 1 | Nhà điều kèo bóng đá cúp c2 trái của | Chiến lược vận kèo bóng đá cúp c2 4 |
Chiến lược vận kèo bóng đá cúp c2 2 | 67461_67503 | Chiến lược vận kèo bóng đá cúp c2 5 |
Chiến lược vận kèo bóng đá cúp c2 3 | Nhà điều kèo bóng đá cúp c2 chồng chéo | |
Chiến lược vận kèo bóng đá cúp c2 4 | Nhà điều kèo bóng đá cúp c2 không-không mở rộng để-bên trái | Chiến lược vận kèo bóng đá cúp c2 1 |
Chiến lược vận kèo bóng đá cúp c2 5 | Nhà điều kèo bóng đá cúp c2 phải-của | Chiến lược vận kèo bóng đá cúp c2 2 |
Chiến lược vận kèo bóng đá cúp c2 6, 18 | Nhà điều kèo bóng đá cúp c2 cùng hoặc không bình đẳng với | Chiến lược vận kèo bóng đá cúp c2 7 |
Chiến lược vận kèo bóng đá cúp c2 7, 16, 24, 25 | Toán tử chứa hoặc không bình đẳng để | |
Chiến lược vận kèo bóng đá cúp c2 8, 26, 27 | Nhà điều kèo bóng đá cúp c2 có chứa bằng hoặc không bình đẳng để | Chiến lược vận kèo bóng đá cúp c2 3 |
Chiến lược vận kèo bóng đá cúp c2 9 | Nhà điều kèo bóng đá cúp c2 không-extend-above | Chiến lược vận kèo bóng đá cúp c2 11 |
Chiến lược vận kèo bóng đá cúp c2 10 | Nhà điều kèo bóng đá cúp c2 là-Below | Chiến lược vận kèo bóng đá cúp c2 12 |
Chiến lược vận kèo bóng đá cúp c2 11 | toán tử is-above | Chiến lược vận kèo bóng đá cúp c2 9 |
Chiến lược vận kèo bóng đá cúp c2 12 | Nhà điều kèo bóng đá cúp c2 không-không mở rộng-Below | Chiến lược vận kèo bóng đá cúp c2 10 |
Chiến lược vận kèo bóng đá cúp c2 20 | Nhà điều kèo bóng đá cúp c2 ít hơn | Chiến lược vận kèo bóng đá cúp c2 5 |
Chiến lược vận kèo bóng đá cúp c2 21 | Nhà điều kèo bóng đá cúp c2 ít hơn hoặc không bình đẳng để | Chiến lược vận kèo bóng đá cúp c2 5 |
Chiến lược vận kèo bóng đá cúp c2 22 | Nhà điều kèo bóng đá cúp c2 Greater-so với | Chiến lược vận kèo bóng đá cúp c2 1 |
Chiến lược vận kèo bóng đá cúp c2 23 | Nhà điều kèo bóng đá cúp c2 Greater-OF-Equal-to | Chiến lược vận kèo bóng đá cúp c2 1 |
Hỗ trợ Số chức năng từ 1 đến 10 được dành riêng cho kèo bóng đá cúp c2 hàm bên trong Brin, do đó, kèo bóng đá cúp c2 hàm cấp SQL bắt đầu với số 11. Hỗ trợ chức năng số 11 là chức năng chính cần thiết để xây dựng chỉ mục. Nó sẽ chấp nhận hai đối số với cùng loại dữ liệu với lớp toán tử và trả về sự kết hợp của chúng.lưu trữ
tham số. Giá trị trả về của hàm liên minh sẽ khớp vớilưu trữ
Kiểu dữ kèo bóng đá cúp c2.
Hỗ trợ Số chức năng 12 và 14 được cung cấp để hỗ trợ kèo bóng đá cúp c2 loại dữ liệu tích hợp. Chức năng số 12 được sử dụng để hỗ trợ kèo bóng đá cúp c2 địa chỉ mạng từ kèo bóng đá cúp c2 gia đình khác nhau không được hợp nhất.
Để viết một lớp toán tử cho một loại dữ liệu chỉ thực hiện một toán tử bình đẳng và hỗ trợ băm, có thể sử dụng kèo bóng đá cúp c2 quy trình hỗ trợ Bloom cùng với kèo bóng đá cúp c2 toán tử tương ứng, như trongBảng 64.7. Tất cả kèo bóng đá cúp c2 thành viên của lớp vận hành (thủ tục và toán tử) là bắt buộc.
Bảng 64.7. Quy trình và số hỗ trợ cho kèo bóng đá cúp c2 lớp toán tử Bloom
Thành viên lớp vận kèo bóng đá cúp c2 | Đối tượng |
---|---|
Quy trình hỗ trợ 1 | Hàm nội bộbrin_bloom_opcinfo () |
Quy trình hỗ trợ 2 | Hàm nội bộbrin_bloom_add_value () |
Quy trình hỗ trợ 3 | Hàm nội bộbrin_bloom_consistent () |
Quy trình hỗ trợ 4 | Hàm nội bộbrin_bloom_union () |
Quy trình hỗ trợ 5 | Hàm nội bộbrin_bloom_options () |
Quy trình hỗ trợ 11 | hàm để tính toán băm của một phần tử |
Chiến lược vận kèo bóng đá cúp c2 1 | Nhà điều kèo bóng đá cúp c2 bằng |
Quy trình hỗ trợ Số 1-10 được dành riêng cho kèo bóng đá cúp c2 chức năng nội bộ của Brin, do đó, kèo bóng đá cúp c2 chức năng cấp SQL bắt đầu với số 11. Hỗ trợ chức năng số 11 là chức năng chính cần thiết để xây dựng chỉ mục. Nó sẽ chấp nhận một đối số với cùng loại dữ liệu với lớp toán tử và trả về băm của giá trị.
Lớp toán tử Minmax-Multi cũng được dành cho kèo bóng đá cúp c2 loại dữ liệu thực hiện một tập hợp hoàn toàn được đặt hàng và có thể được xem là một phần mở rộng đơn giản của lớp toán tử MinMax. Trong khi lớp toán tử MinMax tóm tắt kèo bóng đá cúp c2 giá trị từ mỗi phạm vi khối thành một khoảng liên tục duy nhất, MinMax-Multi cho phép tóm tắt thành nhiều khoảng thời gian nhỏ hơn để cải thiện việc xử lý kèo bóng đá cúp c2 giá trị ngoại lệ.Bảng 64.8. Tất cả kèo bóng đá cúp c2 thành viên của lớp vận hành (thủ tục và toán tử) là bắt buộc.
Bảng 64.8. Quy trình và số hỗ trợ cho kèo bóng đá cúp c2 lớp toán tử Minmax-Multi
Thành viên lớp vận kèo bóng đá cúp c2 | Đối tượng |
---|---|
Quy trình hỗ trợ 1 | Hàm nội bộbrin_minmax_multi_opcinfo () |
Quy trình hỗ trợ 2 | Hàm nội bộbrin_minmax_multi_add_value () |
Quy trình hỗ trợ 3 | Hàm nội bộbrin_minmax_multi_consistent () |
Quy trình hỗ trợ 4 | Hàm nội bộbrin_minmax_multi_union () |
Quy trình hỗ trợ 5 | Hàm nội bộbrin_minmax_multi_options () |
Quy trình hỗ trợ 11 | hàm để tính khoảng cách giữa hai giá trị (độ dài của một phạm vi) |
Chiến lược vận kèo bóng đá cúp c2 1 | Nhà điều kèo bóng đá cúp c2 ít hơn |
Chiến lược vận kèo bóng đá cúp c2 2 | Nhà điều kèo bóng đá cúp c2 ít hơn hoặc không bằng nhau để |
Chiến lược vận kèo bóng đá cúp c2 3 | Người vận kèo bóng đá cúp c2 bằng |
Chiến lược vận kèo bóng đá cúp c2 4 | Nhà điều kèo bóng đá cúp c2 Greater-OF-Equal-to |
Chiến lược vận kèo bóng đá cúp c2 5 | Nhà điều kèo bóng đá cúp c2 lớn hơn |
Cả hai lớp toán tử minmax và bao gồm đều hỗ trợ kèo bóng đá cúp c2 toán tử loại dữ liệu chéo, mặc dù với những phụ thuộc này trở nên phức tạp hơn. Lớp toán tử MinMax yêu cầu một bộ toán tử đầy đủ được xác định với cả hai đối số có cùng loại dữ liệu.Bảng 64.6hoặc cùng một chiến lược vận kèo bóng đá cúp c2 như chính họ. Họ yêu cầu toán tử phụ thuộc phải được xác định vớilưu trữ
Kiểu dữ kèo bóng đá cúp c2 là đối số phía bên trái và kiểu dữ kèo bóng đá cúp c2 được hỗ trợ khác là đối số bên phải của toán tử được hỗ trợ. Nhìn thấyfloat4_minmax_ops
như một ví dụ về minmax vàbox_inclusion_ops
như một ví dụ về sự bao gồm.
Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá cúp c2 không chính xác, không phù hợpMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá cúp c2.