Vị từ đã thêm của bạn sử dụng LIKE
nhà điều hành:
AND network LIKE '%'
Kế hoạch truy vấn thực tế phụ thuộc vào những gì bạn chuyển thay vì '%'. Tuy nhiên, nói chung, các chỉ mục btree thuần túy là vô dụng cho việc này. Bạn sẽ cần một chỉ mục bát quái hoặc sử dụng cơ sở hạ tầng tìm kiếm văn bản hoặc cơ sở hạ tầng tương tự, tùy thuộc vào những mẫu bạn có thể đang tìm kiếm.
Xem:
- Các biến thể hiệu suất truy vấn PostgreSQL LIKE
- Đối sánh mẫu với LIKE, SIMILAR TO hoặc biểu thức chính quy trong PostgreSQL
Bạn thậm chí có thể kết hợp nhiều chiến lược lập chỉ mục. Ví dụ:
Nếu điều đó được cho là:
AND network = '<input_string>'
sau đó, bằng mọi cách, hãy thực sự sử dụng =
toán tử, không phải LIKE
. Các lý do theo thứ tự quan trọng tăng dần:
- ngắn hơn
- bớt khó hiểu
- giúp công việc của người lập kế hoạch Postgres đơn giản hơn (rẻ hơn một chút)
-
đúng
Nếu bạn vô tình chuyển một chuỗi có các ký tự đặc biệt, bạn có thể nhận được kết quả không chính xác. Xem: