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;