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

Sự khác biệt giữa chỉ số GiST và GIN

Tôi không nghĩ rằng tôi có thể giải thích nó tốt hơn hướng dẫn đã làm:

Khi chọn loại chỉ mục nào để sử dụng, GiST hoặc GIN, hãy xem xét những khác biệt về hiệu suất sau:

  • Tra cứu chỉ mục GIN nhanh hơn khoảng ba lần so với GiST

  • Các chỉ mục GIN mất khoảng ba lần để xây dựng so với GiST

  • Chỉ mục GIN cập nhật chậm hơn vừa phải so với chỉ mục GiST, nhưng chậm hơn khoảng 10 lần nếu tắt hỗ trợ cập nhật nhanh [...]

  • Chỉ mục GIN lớn hơn từ hai đến ba lần so với chỉ mục GiST

Liên kết và trích dẫn tham khảo hướng dẫn cho Postgres 9.4. Các ước tính về kích thước và hiệu suất dường như đã lỗi thời một chút. Với Postgres 9,4, tỷ lệ cược đã thay đổi đáng kể có lợi cho GIN .
Các ghi chú phát hành của Postgres 9.4 bao gồm:

  • Giảm kích thước chỉ mục GIN (Alexander Korotkov, Heikki Linnakangas) [...]

  • Cải thiện tốc độ tra cứu GIN đa khóa (Alexander Korotkov, HeikkiLinnakangas)

Các ước tính về kích thước và hiệu suất đã bị xóa khỏi sổ tay.

Lưu ý rằng có những trường hợp sử dụng đặc biệt yêu cầu cái này hoặc cái kia.

Một điều bạn đã hiểu lầm:Bạn không bao giờ nhận kết quả sai với chỉ số GiST. Chỉ mục hoạt động dựa trên các giá trị băm, mà có thể dẫn đến kết quả dương tính giả trong chỉ mục. Điều này sẽ chỉ trở nên phù hợp với một số lượng rất lớn các từ khác nhau trong tài liệu của bạn. Các kết quả dương tính giả sẽ bị loại bỏ sau khi kiểm tra lại hàng thực tế trong mọi trường hợp. Hướng dẫn sử dụng:

Chỉ mục GiST là mất mát, có nghĩa là chỉ mục có thể tạo ra các kết quả sai và cần phải kiểm tra hàng thực tế của bảng để loại bỏ các kết quả phù hợp sai như vậy. ( PostgreSQL tự động thực hiện việc này khi cần thiết. )

Nhấn mạnh đậm của tôi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Heroku Postgres Error:PGError:ERROR:các tổ chức quan hệ không tồn tại (ActiveRecord ::StatementInvalid)

  2. Truy vấn đệ quy được sử dụng để đóng bắc cầu

  3. PostgreSQL Tạo cơ sở dữ liệu

  4. Từng bước postgres_fdw

  5. django.db.utils.OperationalError Không thể kết nối với máy chủ