PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Câu lệnh OR chậm trong postgresql

Cách tiếp cận hoàn toàn mới. where điều kiện trên hai bảng, nhưng điều đó có vẻ không cần thiết.

Thay đổi đầu tiên sẽ là:

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

Tôi nghĩ cấu trúc bạn muốn là quét trên bảng danh mục và sau đó tìm nạp từ bảng quảng cáo. Để trợ giúp, bạn có thể tạo chỉ mục trên advert(advert_category_id, created_date) .

Tôi muốn viết truy vấn bằng cách di chuyển where mệnh đề thành một truy vấn con. Tôi không biết liệu điều này có ảnh hưởng đến hiệu suất hay không:

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. lấy bảng JOIN dưới dạng mảng kết quả với PostgreSQL / NodeJS

  2. PostgreSQL - nhóm theo cột jsonb

  3. Giải quyết lỗi:dòng chữ mới được tìm thấy trong dữ liệu ở Postgres?

  4. PostgreSQL:Làm thế nào để chuyển đổi từ Unix epoch sang date?

  5. Cài đặt Django định cấu hình cơ sở dữ liệu với hai công cụ