我有两个表可以说员工和订单,两个表都有数百万条记录。
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秒加载,任何机构都知道如何优化此查询
答案 0 :(得分:2)
索引是提到的最佳选项之一,您还可以使用存储过程来优化其检索数据的性能。
您可能还想使用ANALYZE语句来优化从这些表中检索数据,您可以从此站点阅读有关此语句的更多信息:
答案 1 :(得分:1)
设置正确的索引(你可能做了吗?)或创建视图。你也可以考虑一个临时表,但大多数时候同步使它不值得。