如何提高mysql连接查询速度?

时间:2011-10-09 09:33:28

标签: mysql

我有两个表可以说员工和订单,两个表都有数百万条记录。

Select orders.* 
from orders
   INNER JOIN employees 
     on Employees.id = orders.employeeid
WHERE orders.type='daily' 
  and orders.date > Employees.registerDate 
  and orders.date < Employees.regiserDate + Interval 60 Days

以上查询是粗略查询,可能存在语法错误,但只是考虑因素。

查询耗费差不多60秒加载,任何机构都知道如何优化此查询

2 个答案:

答案 0 :(得分:2)

索引是提到的最佳选项之一,您还可以使用存储过程来优化其检索数据的性能。

您可能还想使用ANALYZE语句来优化从这些表中检索数据,您可以从此站点阅读有关此语句的更多信息:

http://dev.mysql.com/doc/refman/5.0/en/analyze-table.html

答案 1 :(得分:1)

设置正确的索引(你可能做了吗?)或创建视图。你也可以考虑一个临时表,但大多数时候同步使它不值得。