一条sql语句在两个机器上执行速度不一样的问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 01:07:23
今天遇到这样一个问题,在一个服务器上,执行一条两个表嵌套查询的SQL语句,在SQL查询分析器里,执行的很慢,大概要1分钟左右才有结果,其实数据也就100多条,还有几次根本就不出现结果,就在那里查,也查不出来。于是把这个数据库备份,还原到笔记本上,执行同样的语句,立刻就出结果,最多的一次也就是2秒,一般都是1秒左右,而且这个笔记本配置要比服务器差多了,就是不明白为什么,服务器上执行这个语句为何如此的慢,但执行其他语句好像都很正常,没有什么延迟多久的。请教各位,有没有遇到过这样的情况:SQL语句如下:

select * from 车辆甲 a,车辆乙 b where a.id in(select max(id) from 车辆甲 group by 车牌号,车颜色) and convert(datetime,a.出发日期)>='2008-7-31' and convert(datetime,a.出发日期)<='2008-8-14' and a.车牌号=b.车牌号 and a.车颜色=b.车颜色 order by convert(datetime,a.出发日期)

优化器的结果不同,内存的数据缓存不同。
我想如果你将服务器的SQL服务重启应该差不多了吧

出现这种情况很可能是一下原因:可能你执行SQL的服务器,别人可能正在上面更新数据,如果你的服务器,配置不是很好的话,那么这时 你执行这些SQL时速度会非常的慢,我曾经就出现过这样的情况,你可以尝试一下,那天你公司没什么人的时候你在执行以下SQL你会发现很快的