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

Tại sao hàm postgres trigram word_similarity không sử dụng chỉ mục gin?

Theo phản hồi của diễn đàn postgres này

Vì vậy, truy vấn có thể được cập nhật để sử dụng chỉ mục như sau:

SET pg_trgm.word_similarity_threshold TO 0.1;
SELECT * 
FROM place 
WHERE place.name <<-> '__SOME_STRING__';

Cảnh báo :toán tử chỉ sử dụng chỉ số với duy nhất một phiên bản của cặp dấu phẩy. Tức là nó chỉ sử dụng chỉ mục trong trường hợp <<-> và không phải trường hợp <->> . Tràn ngăn xếp này q / a bài đăng có vẻ như nó đưa ra một lời giải thích hợp lý về lý do tại sao:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mac psql / readline - Thư viện không được tải

  2. Sử dụng docker-soạn để tạo bảng trong cơ sở dữ liệu postgresql

  3. Cần hai chỉ mục trên một bảng tham gia HABTM?

  4. psql ERROR:không thể mở tệp address.csv để đọc:Không có tệp hoặc thư mục nào như vậy

  5. Truy vấn gốc dữ liệu mùa xuân không cho phép tồn tại toán tử chuỗi Postgres jsonb (dấu chấm hỏi)