【发布时间】:2011-05-09 01:16:47
【问题描述】:
顾名思义,多个或的查询会更快,还是多个查询与联合结合的查询会更快?为了简单起见,我只加入了两个表,但可以加入更多表。
例如,
select isbn, booktitle from book as b left join publisher as p
on b.publisherid = p.publisherid
where
booktitle like '%mysql%' or
isbn like '%mysql%' or
publishername like '%mysql%'
对
select isbn, booktitle from book as b left join publisher as p
on b.publisherid = p.publisherid
where
booktitle like '%mysql%'
union
select isbn, booktitle from book as b left join publisher as p
on b.publisherid = p.publisherid
where
isbn like '%mysql%'
union
select isbn, booktitle from book as b left join publisher as p
on b.publisherid = p.publisherid
where
publishername like '%mysql%'
【问题讨论】:
-
你自己试试看,然后你可以问我们“我发现第一个查询执行的时间是第二个查询的一半,有人可以解释一下吗?”
-
如果你的 ISBN 字段在任何地方都有“mysql”,那么你有一些非常糟糕的数据问题。
标签: mysql optimization query-optimization unions