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

Pernyataan OR lambat di postgresql

Pendekatan yang sama sekali baru. where Your Anda kondisinya ada di dua meja, tapi sepertinya itu tidak perlu.

Perubahan pertama adalah:

where a1_.id = 1136 or a1_.parent_id = 1136

Saya pikir struktur yang Anda inginkan adalah pemindaian pada tabel kategori dan kemudian mengambil dari tabel iklan. Untuk membantu, Anda dapat membuat indeks pada advert(advert_category_id, created_date) .

Saya akan tergoda untuk menulis kueri dengan memindahkan where klausa menjadi subquery. Saya tidak tahu apakah ini akan memengaruhi kinerja:

SELECT a0_.id AS id0
FROM   advert a0_ INNER JOIN
       (select ac.*
        from advertcategory ac
        where ac.id = 1136 or ac.parent_id = 1136
       ) ac
       ON a0_.advert_category_id = ac.id
ORDER  BY a0_.created_date DESC
LIMIT  15;  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres:haruskah seseorang membuat indeks sebelum atau setelah mengisi tabel

  2. Menerapkan Switchover/Switchback di PostgreSQL 9.3.

  3. Mengapa saya harus memiliki_banyak hubungan?

  4. Masukkan data dan atur kunci asing dengan Postgres

  5. PostgreSQL - Pengguna DB hanya boleh memanggil fungsi