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

PostgreSQL - kueri terhadap indeks GIN dari nilai HSTORE

Upaya awal Anda benar, tetapi Anda perlu menggunakan indeks btree (sebagian) dan pemindaian indeks bitmap untuk mengandalkannya:

create index on product(((ext->'size')::int)) where ((ext->'size') is not null);

Hal yang sama untuk massa, dan jika perencana tidak mendapatkannya di tempat tambahkan dua klausa where, yaitu where ext->'size' is not null dan sama untuk massa.

Jika ada pola tertentu (yang kemungkinan besar, karena sebagian besar produk dengan ukuran juga memiliki massa), berpotensi membuat indeks multikolom yang menggabungkan dua - satu kantung, deskripsi lainnya.

Indeks gin saat Anda menulisnya, bersama dengan kueri yang menyertainya (dengan kesalahan sintaksis) pada dasarnya akan melakukan hal yang sama tetapi tidak berurutan; akan lebih lambat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan daftar tanggal dalam rentang di PostgreSQL

  2. Postgres tidak mengembalikan lastval() dengan benar

  3. ST_DWithin mengambil parameter sebagai derajat , bukan meter , mengapa?

  4. Rails PostgreSQL bidang numerik meluap ERROR

  5. Perbarui nilai kolom tabel berdasarkan logika bersyarat