为什么第一次启动 mysqld.exe
运行某个sql语句,速度很慢,再次运行,就速度飞快。再关掉mysqld.exe, 重新开mysqld.exe
还是执行同一个sql语句,速度还是一样慢!!请教如何解决,什么问题?谢谢!
运行某个sql语句,速度很慢,再次运行,就速度飞快。再关掉mysqld.exe, 重新开mysqld.exe
还是执行同一个sql语句,速度还是一样慢!!请教如何解决,什么问题?谢谢!
调试欢乐多
基本上所有的数据库系统都会使用缓存, 即在第一次执行SQL语句后,数据会仍然放在内存中,当第二次查询相同SQL语句的时候会直接使用内存中的数据。
缓存到内存里,第二次在读取时候是从内存中缓存读取速度就会很快的。
SELECT z2.empAutoId,z2.employeeName,servicePrice price FROM ( SELECT SUM(ServiceTurnover) servicePrice,a1.empAutoId FROM billEmpBonus a1
STRAIGHT_JOIN BusinessBill a2 ON a1.billAutoId=a2.billAutoId
WHERE a2.endDate IS NOT NULL AND a2.beginDate>='2012-06-01' AND a2.beginDate<'2012-07-01'
AND a1.worktype IN (2,3,4) AND a1.ServiceTurnover>0
GROUP BY a1.empAutoId
) z1 LEFT JOIN
(SELECT b.empAutoId,c.employeeName FROM TypeOfWork a
LEFT JOIN TypeOfWorkEmployee b ON a.TypeOfWorkAutoId=b.TypeOfWorkAutoId
JOIN Employee c ON b.empAutoId=c.empAutoId
) z2 ON z1.empAutoId=z2.empAutoId
WHERE z2.empAutoId IS NOT NULL
GROUP BY z2.empAutoId,z2.employeeName;
BusinessBill a2 6万