PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chiến lược lập chỉ mục cho các kết hợp khác nhau của mệnh đề WHERE bao gồm. mẫu văn bản

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:

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:

  1. ngắn hơn
  2. bớt khó hiểu
  3. 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)
  4. đú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:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xuất Cơ sở dữ liệu Postgres thành tệp CSV

  2. Tại sao quy tắc này không ngăn các vi phạm chính trùng lặp?

  3. PostgreSQL chạy chậm? Mẹo &Thủ thuật để Truy cập Nguồn

  4. Hiển thị tin nhắn cuối cùng trong một mảng tin nhắn

  5. Trình kích hoạt PostgreSQL không trả về bất kỳ thứ gì