kèo bóng đá c1
Cung cấp kèo bóng đá c1 chỉ mục dựa trênBộ lọc kèo bóng đá c1.
Bộ lọc kèo bóng đá c1 là cấu trúc dữ liệu hiệu quả không gian được sử dụng để kiểm tra xem một phần tử có phải là thành viên của một bộ hay không. Trong trường hợp phương thức truy cập chỉ mục, nó cho phép loại trừ nhanh các bộ dữ liệu không phù hợp thông qua các chữ ký có kích thước được xác định khi tạo chỉ mục.
Chữ ký là một đại diện mất mát của (các) thuộc tính được lập chỉ mục, và như vậy có xu hướng báo cáo dương tính giả; that is, it may be reported that an element is in the set, when it is not.
Loại chỉ mục này hữu ích nhất khi bảng có nhiều thuộc tính và truy vấn kiểm tra các kết hợp tùy ý của chúng. Chỉ số Btree truyền thống nhanh hơn chỉ số kèo bóng đá c1, nhưng nó có thể yêu cầu nhiều chỉ mục Btree để hỗ trợ tất cả các truy vấn có thể có trong đó người ta chỉ cần một chỉ số kèo bóng đá c1 duy nhất.
Akèo bóng đá c1
Index chấp nhận các tham số sau trongvới
mệnh đề:
length
Độ dài của mỗi chữ ký (mục nhập chỉ mục) theo bit. Nó được làm tròn đến bội số gần nhất của16
. Mặc định là80
bit và tối đa là4096
.
col1 - col32
Số lượng bit được tạo cho mỗi cột chỉ mục. Tên của mỗi tham số đề kèo bóng đá c1 đến số lượng cột chỉ mục mà nó kiểm soát.2
bit và tối đa là4095
. Tham số cho các cột chỉ mục không thực sự được sử dụng bị bỏ qua.
Đây là một ví dụ về việc tạo chỉ mục nở hoa:
Tạo chỉ mục BloomIDX trên tbloom bằng kèo bóng đá c1 (I1, I2, I3)
Chỉ mục được tạo với độ dài chữ ký là 80 bit, với các thuộc tính i1 và i2 được ánh xạ tới 2 bit và thuộc tính i3 được ánh xạ tới 4 bit. Chúng ta có thể đã bỏ qualength
, col1
vàcol2
Thông số kỹ thuật vì chúng có giá trị mặc định.
Đây là một ví dụ đầy đủ hơn về định nghĩa và cách sử dụng chỉ số kèo bóng đá c1, cũng như so sánh với các chỉ mục Btree tương đương. Chỉ số kèo bóng đá c1 nhỏ hơn đáng kể so với chỉ số Btree và có thể hoạt động tốt hơn.
=# Tạo bảng TBLOOM AS
Quét tuần tự trên bảng lớn này mất nhiều thời gian:
=# Giải thích Phân tích Chọn * từ tbloom trong đó i2 = 898732 và I5 = 123451;
Ngay cả với chỉ số Btree được xác định, kết quả vẫn sẽ là quét tuần tự:
=# Tạo chỉ mục btreeidx trên tbloom (i1, i2, i3, i4, i5, i6);
Có chỉ mục kèo bóng đá c1 được xác định trên bảng tốt hơn Btree trong việc xử lý loại tìm kiếm này:
=# Tạo chỉ mục bloomidx trên tbloom bằng kèo bóng đá c1 (I1, i2, i3, i4, i5, i6);
Bây giờ, vấn đề chính với tìm kiếm Btree là Btree không hiệu quả khi các điều kiện tìm kiếm không hạn chế (các) cột chỉ mục hàng đầu. Một chiến lược tốt hơn cho BTREE là tạo một chỉ mục riêng biệt trên mỗi cột.
=# Tạo chỉ mục btreeidx1 trên tbloom (i1);
Mặc dù truy vấn này chạy nhanh hơn nhiều so với một trong các chỉ mục duy nhất, chúng tôi phải trả một hình phạt về kích thước chỉ số. Mỗi chỉ số Btree một cột đơn chiếm 88,5 MB, do đó, tổng dung lượng cần thiết là 531 MB, trên ba lần không gian được sử dụng bởi Chỉ số kèo bóng đá c1.
Một lớp toán tử cho các chỉ mục kèo bóng đá c1 chỉ yêu cầu hàm băm cho kiểu dữ liệu được lập chỉ mục và toán tử bình đẳng để tìm kiếm. Ví dụ này hiển thị định nghĩa lớp toán tử choText
Kiểu dữ liệu:
Tạo lớp toán tử Text_ops
Chỉ các lớp toán tử choINT4
vàText
được bao gồm trong mô -đun.
chỉ=
Nhà điều hành được hỗ trợ tìm kiếm. Nhưng có thể thêm hỗ trợ cho các mảng với các hoạt động liên minh và giao lộ trong tương lai.
kèo bóng đá c1
kèo bóng đá c1 không hỗ trợđộc đáo
INDEXES.
kèo bóng đá c1
kèo bóng đá c1 không hỗ trợ tìm kiếmnull
Giá trị.
Teodor Sigaev<teodor@postgrespro.ru
, Postgres Professional, Moscow, Nga
Alexander Korotkov<a.korotkov@postgrespro.ru
, Postgres Professional, Moscow, Nga
Oleg Bartunov<bartunov@postgrespro.ru
, Postgres Professional, Moscow, Nga
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.