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

Pengindeksan lanjutan yang melibatkan kondisi OR-ed (pgsql)

Bergantung pada kondisinya, mungkin secara logis tidak mungkin menggunakan indeks apa pun untuk membantu kondisi yang kompleks menggunakan OR ekspresi.

Seperti MySQL, PostgreSQL 8.0 dan status sebelumnya dalam dokumen tentang indeks :

Dengan PostgreSQL 8.1, ini berubah .

Namun, jika ini tidak membantu, Anda dapat menggunakan UNION solusi yang Anda coba (ini adalah solusi umum untuk pengguna MySQL, yang terus memiliki batasan satu indeks per tabel).

Anda harus dapat memesan hasil UNION kueri, tetapi Anda harus menggunakan tanda kurung untuk menentukan bahwa ORDER BY berlaku untuk hasil UNION , bukan hanya ke subkueri terakhir dalam rantai.

(SELECT ... )
UNION
(SELECT ... )
UNION
(SELECT ... )
ORDER BY columnname;

Semoga membantu; Saya bukan ahli dalam pengoptimal PostgreSQL. Anda dapat mencoba menelusuri arsip milis , atau bertanya di saluran IRC .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penanganan Pengecualian PostgreSQL

  2. Docker- Django melempar kesalahan saat menghubungkan ke postgres:psycopg2.OperationalError:tidak dapat terhubung ke server:Koneksi ditolak

  3. Lingkup rel untuk IS NOT NULL dan tidak kosong/kosong?

  4. Kueri spasial pada tabel besar dengan beberapa self join berkinerja lambat

  5. PgAdmin di Windows 10 dengan Postgres saat diinstal melalui Bash di Ubuntu di Windows