【发布时间】:2017-04-18 16:37:52
【问题描述】:
为了简化,我有四个表,书、出版商、作者和公司。书籍和出版商都对作者有引用,但该引用可以为空。
我可以通过像这样使用 OR 连接查询连接作者表来找到作者,但速度非常慢。
edit 我必须使用作者表来加入另一个。
架构:
select book.title,
author.name,
company.name as company_name
from book
inner join publisher on book.publisher_id = publisher.id
inner join author
on (book.author_id = author.id OR publisher.author_id = author.id)
inner join company on author.company_id = company.id;
我想知道优化此查询的最佳方法是什么,而不是加入 OR 条件。谢谢
【问题讨论】:
-
请在问题中添加您的表格结构(作为文本)
标签: sql postgresql join query-optimization