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

Operasi bitwise di Postgres

Gunakan dapat menggunakan indeks parsial untuk mengatasi fakta bahwa "&" bukan operator yang dapat diindeks (afaik):

CREATE INDEX vendors_typeA ON vendors(id) WHERE (type & 2) > 0;
CREATE INDEX vendors_typeB ON vendors(id) WHERE (type & 4) > 0;

Tentu saja, Anda harus menambahkan indeks baru setiap kali Anda menambahkan tipe baru. Yang merupakan salah satu alasan untuk memperluas data ke dalam tabel asosiasi yang kemudian dapat diindeks dengan benar. Anda selalu dapat menulis pemicu untuk mempertahankan tabel bitmask tambahan, tetapi gunakan tabel banyak-ke-banyak untuk benar-benar mempertahankan data secara normal, karena akan jauh lebih jelas.

Jika seluruh evaluasi penskalaan dan kinerja Anda adalah mengatakan "Saya mungkin memiliki jutaan baris", Anda belum melakukan cukup banyak untuk mulai melakukan pengoptimalan semacam ini. Buat model jelas yang terstruktur dengan baik terlebih dahulu, optimalkan nanti berdasarkan statistik nyata tentang kinerjanya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PEMBARUAN Atom untuk menambah bilangan bulat di Postgresql

  2. Gabungkan tabel pada kolom kunci asing/primer komposit dalam kueri

  3. Seledri meningkatkan kesalahan saat meneruskan obj queryset saya sebagai parameter

  4. Tabel bergabung dengan sql ke rel permintaan rekaman aktif

  5. Ikhtisar Penawaran Amazon RDS &Aurora untuk PostgreSQL