2015-09-25 17 views
11

Django 1.8 cung cấp HStoreField và Django 1.9 sẽ cung cấp JSONField (sử dụng jsonb) cho PostgreSQL.Khi nào nên sử dụng HStoreField thay vì JSONField?

Hiểu biết của tôi là hstore nhanh hơn json nhưng không cho phép lồng và chỉ cho phép chuỗi.

Khi nào người ta nên sử dụng cái kia? Nên một người được ưa thích hơn người kia? Hstore vẫn là người chiến thắng rõ ràng về hiệu suất so với jsonb?

Trả lời

10

Nếu bạn cần lập chỉ mục, hãy sử dụng jsonb nếu bạn ở trên 9.4 hoặc mới hơn, nếu không, hstore. Có thực sự không có lý do để thích hstore hơn jsonb nếu cả hai đều có sẵn.

Nếu bạn không cần lập chỉ mục và xử lý nhanh và bạn chỉ lưu trữ và truy xuất dữ liệu đã xác thực, hãy sử dụng số json đồng bằng. Không giống như hai tùy chọn khác, điều này bảo toàn các khóa trùng lặp, định dạng, thứ tự khóa, v.v.

Các vấn đề liên quan