Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

11.7. kèo bóng đá pháp

Một cột chỉ kèo bóng đá pháp không chỉ là một cột của bảng bên dưới, nhưng có thể là một hàm hoặc biểu thức vô hướng được tính toán từ một hoặc nhiều cột của bảng. Tính năng này rất hữu ích để có được quyền truy cập nhanh vào các bảng dựa trên kết quả tính toán.

Ví dụ: một cách phổ biến để thực hiện các so sánh nhạy cảm trường hợp là sử dụngHạchức năng:

Chọn * Từ Test1 trong đó Hạ (col1) = 'value';

Truy vấn này có thể sử dụng một chỉ kèo bóng đá pháp nếu một người đã được xác định dựa trên kết quả củaHạ (col1)chức năng:

Tạo chỉ kèo bóng đá pháp Test1_Lower_col1_idx trên Test1 (Hạ (Col1));

Nếu chúng ta khai báo chỉ kèo bóng đá pháp nàyđộc đáo, nó sẽ ngăn chặn việc tạo các hàng cócol1Giá trị chỉ khác nhau trong trường hợp, cũng như các hàng cócol1Giá trị thực sự giống hệt nhau. Do đó, các kèo bóng đá pháp các biểu thức có thể được sử dụng để thực thi các ràng buộc không thể xác định là các ràng buộc duy nhất đơn giản.

như một ví dụ khác, nếu người ta thường xuyên thực hiện các truy vấn như:

Chọn * Từ những người trong đó (First_name || '' || last_name) = 'John Smith';

Sau đó, nó có thể đáng để tạo một chỉ kèo bóng đá pháp như thế này:

Tạo Index People_Names on People ((First_name || '' |

Cú pháp củaTạo chỉ kèo bóng đá pháplệnh thường yêu cầu viết dấu ngoặc đơn xung quanh các biểu thức chỉ kèo bóng đá pháp, như trong ví dụ thứ hai. Các dấu ngoặc đơn có thể được bỏ qua khi biểu thức chỉ là một cuộc gọi hàm, như trong ví dụ đầu tiên.

Biểu thức chỉ kèo bóng đá pháp tương đối tốn kém để duy trì, vì (các) biểu thức dẫn xuất phải được tính toán cho mỗi lần chèn hàng vàPostgreSQL: TàTuy nhiên, các biểu thức chỉ kèo bóng đá pháp làkhôngĐược tính toán lại trong quá trình tìm kiếm được lập chỉ kèo bóng đá pháp, vì chúng đã được lưu trữ trong chỉ kèo bóng đá pháp. Trong cả hai ví dụ ở trên, hệ thống xem truy vấn chỉ làWHERE indexedColumn = 'hằng số'Và do đó, tốc độ tìm kiếm tương đương với bất kỳ truy vấn chỉ mục đơn giản nào khác. Do đó, các kèo bóng đá pháp các biểu thức là hữu ích khi tốc độ truy xuất quan trọng hơn là chèn và tốc độ cập nhật.

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.