大家好,我正在phpmyadmin数据库上工作。每当我尝试执行查询时,都需要花费超过10分钟的时间才能显示结果。有什么办法可以加快速度。请回应。
查询是
SELECT ib.*, b.brand_name, m.model_name,
s.id as sale_id, br.branch_code,br.branch_name,r.rentry_date,r.id as rid
from in_book ib
left join brand b on ib.brand_id=b.id
left join model m on ib.vehicle_id=m.id
left join re_entry r on r.in_book_id=ib.id
left join sale s on ib.id=s.in_book_id
left join branch br on ib.branch_id=br.id
where ib.id !=''
and ib.branch_id='65'
group by ib.id
order by r.id ASC,
count(r.in_book_id) DESC ,
ib.purchaes_date ASC,
ib.id ASC
几乎有7张桌子
最佳答案
确保用于联接表的每个键上都有一个index
。
来自http://dev.mysql.com/doc/refman/5.5/en/optimization-indexes.html:
改善SELECT操作性能的最好方法是在查询中测试的一个或多个列上创建索引。索引条目的作用类似于指向表行的指针,从而使查询可以快速确定哪些行与WHERE子句中的条件匹配,并检索这些行的其他列值。所有MySQL数据类型都可以建立索引。
..当然,这也适用于JOIN
条件。
关于mysql - mysql查询花费太多时间执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26929627/