Hôm nay, bảy cơ sở dữ liệu trong bảy tuần đã giới thiệu cho tôi các chỉ mục cho mỗi nhà khai thác.
Bạn có thể lập chỉ mục chuỗi cho mẫu khớp với các truy vấn trước đó bằng cách tạo
text_pattern_ops
chỉ mục lớp toán tử, miễn là các giá trị được lập chỉ mục bằng chữ thường.
CREATE INDEX moves_title_pattern ON movies (
(lower(title) text_pattern_ops);
Chúng tôi sử dụng
text_pattern_ops
bởi vì tiêu đề là loại văn bản. Nếu bạn cần chỉ số varchars, ký tự, hoặc tên, sử dụng ops liên quan:varchar_pattern_ops
,bpchar_pattern_ops
, vàname_pattern_ops
.
Tôi thấy ví dụ thực sự khó hiểu. Tại sao nó hữu ích để làm điều này?
Nếu cột là loại văn bản, các loại khác (varchar, char, name) sẽ được chuyển thành văn bản trước khi được sử dụng làm giá trị tìm kiếm?
Làm thế nào để chỉ mục đó hành xử khác với một sử dụng toán tử mặc định?
CREATE INDEX moves_title_pattern ON movies (lower(title));