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
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tại9577_9658

11.7. tỷ lệ kèo bóng đá

Một cột chỉ tỷ lệ kèo bóng đá 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 không phân biệt chữ hoa case là sử dụngHạ11214_11226

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

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

Tạo chỉ tỷ lệ kèo bóng đá Test1_Lower_col1_idx trên Test1 (Hạ (Col1));

Nếu chúng ta khai báo chỉ tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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ỉ tỷ lệ kèo bóng đá như thế này:

Tạo Chỉ tỷ lệ kèo bóng đá People_Names on People ((First_name || '' |

Cú pháp củaTạo chỉ tỷ lệ kèo bóng đáLệnh thường yêu cầu viết dấu ngoặc đơn xung quanh các biểu thức chỉ tỷ lệ kèo bóng đá, 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ỉ tỷ lệ kèo bóng đá 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ỉ tỷ lệ kèo bóng đá làkhôngĐược tính toán lại trong quá trình tìm kiếm được lập chỉ tỷ lệ kèo bóng đá, vì chúng đã được lưu trữ trong chỉ tỷ lệ kèo bóng đá. 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 độ của 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 tỷ lệ kèo bóng đá 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.