Một chỉ kèo chấp bóng đá hôm nay có thể được xác định trên nhiều cột của bảng. Ví dụ: nếu bạn có một bảng biểu mẫu này:
Tạo bảng Test2 ( int chính, int nhỏ, Tên Varchar );
(giả sử, bạn giữ của bạn/dev
Thư kèo chấp bóng đá hôm nay trong cơ sở dữ liệu ...) và bạn thường xuyên phát hành truy vấn như:
Chọn tên từ Test2 trong đó chính =hằng số
và minor =hằng số
;
Sau đó, có thể phù hợp để xác định một chỉ kèo chấp bóng đá hôm nay trên các cộtMajor
vàMinor
cùng nhau, ví dụ:
Tạo Chỉ kèo chấp bóng đá hôm nay Test2_MM_IDX trên Test2 (Major, Minor);
Hiện tại, chỉ có các loại B-Tree, Gist, Gin và Brin hỗ trợ các chỉ kèo chấp bóng đá hôm nay nhiều cột. Liệu có thể có nhiều cột khóa độc lập với việcBao gồm
Các cột có thể được thêm vào chỉ kèo chấp bóng đá hôm nay. Các chỉ kèo chấp bóng đá hôm nay có thể có tối đa 32 cột, bao gồmBao gồm
Cột. (Giới hạn này có thể được thay đổi khi xây dựngPostgreSQL; xem tệppg_config_manual.h
.)
12407_13784
Ví dụ, đã đưa ra một chỉ kèo chấp bóng đá hôm nay trên(x, y)
và điều kiện truy vấnTrong đó y = 7700
, quét chỉ kèo chấp bóng đá hôm nay B-cây có thể có thể áp dụng tối ưu hóa quét bỏ qua. Điều này thường xảy ra khi người lập kế hoạch truy vấn mong đợi rằng lặp đi lặp lạitrong đó x = n và y = 7700
Tìm kiếm mọi giá trị có thể củan
(hoặc cho mỗix
Giá trị thực sự được lưu trữ trong chỉ kèo chấp bóng đá hôm nay) là cách tiếp cận nhanh nhất có thể, với các chỉ kèo chấp bóng đá hôm nay có sẵn trên bảng. Cách tiếp cận này thường chỉ được thực hiện khi có quá ít khác biệtx
14452_14628x
Giá trị, sau đó toàn bộ chỉ kèo chấp bóng đá hôm nay sẽ phải được quét, vì vậy trong hầu hết các trường hợp, người lập kế hoạch sẽ thích quét bảng tuần tự bằng cách sử dụng chỉ kèo chấp bóng đá hôm nay.
Tối ưu hóa quét bỏ qua cũng có thể được áp dụng một cách chọn lọc, trong quá trình quét cây B có ít nhất một số ràng buộc hữu ích từ vị từ truy vấn. Ví dụ: đã cho một chỉ kèo chấp bóng đá hôm nay trên(a, b, c)
và điều kiện truy vấnTrong đó a = 5 và b = 42 và c <77
, chỉ kèo chấp bóng đá hôm nay có thể phải được quét từ kèo chấp bóng đá hôm nay đầu tiên vớiA
= 5 vàB
= 42 lên qua kèo chấp bóng đá hôm nay cuối cùng vớiA
= 5. kèo chấp bóng đá hôm nay nhập chỉ kèo chấp bóng đá hôm nay vớiC
= 77 sẽ không bao giờ cần được lọc ở cấp độ bảng, nhưng nó có thể hoặc không có lợi nhuận để bỏ qua chúng trong chỉ kèo chấp bóng đá hôm nay. Khi bỏ qua diễn ra, việc quét bắt đầu tìm kiếm chỉ kèo chấp bóng đá hôm nay mới để tự định vị từ cuối hiện tạiA
= 5 vàB
= N Nhóma = 5 và b = n và c = 77
xuất hiện), đến khi bắt đầu nhóm tiếp theo như vậy (tức là vị trí trong chỉ kèo chấp bóng đá hôm nay trong đó Tuple đầu tiênA = 5 và B = N + 1
xuất hiện).
15989_16455
Chỉ mục Gin kèo chấp bóng đá hôm nay có thể được sử dụng với các điều kiện truy vấn liên quan đến bất kỳ tập hợp con nào của các cột của chỉ mục. Không giống như B-Tree hay Gist, hiệu quả tìm kiếm chỉ mục là giống nhau bất kể cột chỉ mục nào mà các điều kiện truy vấn sử dụng.
Chỉ số Brin kèo chấp bóng đá hôm nay có thể được sử dụng với các điều kiện truy vấn liên quan đến bất kỳ tập hợp con nào của các cột của chỉ mục. Giống như Gin và không giống như B-Tree hoặc GIST, hiệu quả tìm kiếm chỉ mục là như nhau bất kể cột chỉ mục nào mà các điều kiện truy vấn sử dụng. Lý do duy nhất để có nhiều chỉ mục Brin thay vì một chỉ mục Brin kèo chấp bóng đá hôm nay trên một bảng là có một số khácpages_per_range
tham số lưu trữ.
Tất nhiên, mỗi cột phải được sử dụng với các toán tử phù hợp với loại chỉ kèo chấp bóng đá hôm nay; Các điều khoản liên quan đến các nhà khai thác khác sẽ không được xem xét.
Các chỉ mục kèo chấp bóng đá hôm nay nên được sử dụng một cách tiết kiệm. Trong hầu hết các tình huống, một chỉ mục trên một cột là đủ và tiết kiệm không gian và thời gian. Các chỉ mục có nhiều hơn ba cột khó có thể hữu ích trừ khi việc sử dụng bảng cực kỳ cách điệu. Xem thêmPhần 11.5vàPhần 11.9Để thảo luận về giá trị của các cấu hình chỉ kèo chấp bóng đá hôm nay khác nhau.