PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apakah JSONB membuat array PostgreSQL tidak berguna?

Dalam kebanyakan kasus, saya akan menggunakan skema yang dinormalisasi dengan tabel option_tag mengimplementasikan hubungan banyak ke banyak antara tabel option dan tag . Implementasi referensi di sini:

Ini mungkin bukan opsi tercepat dalam segala hal, tetapi menawarkan fungsionalitas DB lengkap, termasuk integritas referensial, batasan, berbagai tipe data, semua opsi indeks, dan pembaruan murah.

Untuk kelengkapan, tambahkan ke daftar opsi Anda:

  • hstore (opsi bagus)
  • xml lebih bertele-tele dan lebih kompleks daripada hstore atau jsonb , jadi saya hanya akan menggunakannya saat beroperasi dengan XML.
  • "string nilai yang dipisahkan koma" (sangat sederhana, sebagian besar opsi buruk)
  • EAV (Entity-Attribute-Value) atau "pasangan nama-nilai" (sebagian besar opsi buruk)
    Detail di bawah pertanyaan terkait ini di dba.SE:

Jika daftar hanya untuk tampilan dan jarang diperbarui, saya akan mempertimbangkan array biasa, yang biasanya lebih kecil dan berkinerja lebih baik daripada yang lain.

Baca entri blog oleh Josh Berkus @a_horse ditautkan ke dalam komentarnya. Namun perlu diketahui bahwa ini berfokus pada kasus baca yang dipilih. Josh mengakui:

Dan di situlah pendekatan yang dinormalisasi menang besar, terutama ketika Anda banyak mengubah tag tunggal di bawah beban bersamaan.

jsonb hanya merupakan pilihan yang baik jika Anda tetap akan beroperasi dengan JSON, dan dapat menyimpan dan mengambil JSON "sebagaimana adanya".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan beberapa database dan skema POSTGRES dengan model Flask-SQLAlchemy yang sama

  2. Cara Menghindari Looping Trigger Calls Di PostgreSQL 9.2.1

  3. Bagaimana cara mencocokkan ekspresi reguler pada kolom untuk PostgreSQL di EF Core?

  4. PostgreSQL 12:Menerapkan K-Nearest Neighbor Space Partitioned Generalized Search Tree Indexes

  5. Hibernate Postgresql pilih untuk pembaruan dengan masalah gabungan luar