我有类似以下的查询
select f.number,SUM(ii.qty),SUM(c.g1),SUM(c.g2),SUM(c.g3),SUM(c.g4),SUM(c.g5),SUM(c.g6) from
farmer as f
inner join
issue as i on f.number = i.farmerno
inner join
item_issue as ii on i.recno = (ii.recno+0)
inner join
crop as c on c.farmerno = f.number
where ii.item like 'S%'
group by f.number
我们是否必须考虑最适合查询的连接顺序,还是MySQL找出最佳方法?
答案 0 :(得分:0)
您可以在MySQL Optimizer执行
之后查看您的查询EXPLAIN EXTENDED SELECT ...
这会给你一个包含查询的警告,因为它确实被处理了(优化器用它做了什么)。这样您就可以查看真实的连接顺序。
至于性能,您应该确保在ii.item
列上使用B-TREE索引,因为您执行了LIKE
操作。 MySQL默认是HASH索引,它不是最佳选择。