大家好,我正在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/

10-14 17:10