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

Django JSONField bên trong ArrayField

Mảng

Trước hết, chúng ta hãy xem xét kỹ văn bản quan trọng này từ tài liệu Mảng Postgresql.

Mẹo:Mảng không phải là tập hợp; tìm kiếm các phần tử mảng cụ thể có thể có dấu hiệu của việc thiết kế sai cơ sở dữ liệu. Hãy xem xét sử dụng một bảng riêng biệt với arow cho mỗi mục sẽ là một phần tử mảng. Điều này sẽ dễ dàng hơn để tìm kiếm và có khả năng mở rộng quy mô tốt hơn cho một số lượng lớn các thành phần.

Thông thường, bạn không nên sử dụng mảng.

JSONB

JSONB có sẵn trong Django dưới dạng loại JSONField. Trường này có khả năng mở rộng và linh hoạt hơn các trường mảng và có thể được tìm kiếm hiệu quả hơn. Tuy nhiên, nếu bạn luôn tìm kiếm bên trong các trường JSONB thì câu lệnh trên về Mảng cũng có giá trị như nhau đối với JSONB.

Bây giờ bạn có gì trong hệ thống của mình? Một mảng chứa trường JSONB. Đây là một thảm họa đang chờ xảy ra. Vui lòng chuẩn hóa dữ liệu của bạn.

Tóm tắt lại

vậy khi nào sử dụng ArrayField?

Trong một số trường hợp hiếm hoi khi bạn không cần tìm kiếm trong cột đó và bạn không cần sử dụng cột đó để tham gia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bỏ qua dấu ngoặc kép để thực hiện truy vấn trên PostgreSQL

  2. Làm thế nào để triển khai mối quan hệ nhiều-nhiều trong PostgreSQL?

  3. CHÈN SQL mà không chỉ định cột. Điều gì xảy ra?

  4. pgadmin4:máy chủ ứng dụng postgresql không thể liên lạc được.

  5. Cách tạo các câu lệnh chuẩn bị cho postgres động trong PHP