请教一下,就现在有一个报表,刚点开查询的时候,查询一家公司的数据,等待十多分钟都还是在加载中,把预览关了,再重新预览,一分钟左右就出数据了,这个是什么原因啊(ps:两次预览的是不同的公司)
Sql语句第一次查询慢的原因不仅仅是因为执行计划没有被缓存这么简单,有时候你会发现Sql语句重用了执行计划,但是第一次查询还是很慢。就如同上面回答一样,最主要的原因是第一次查询的时候,Sql Server会将查询出的部分数据和索引从磁盘加载到内存作为缓存,而第二次查询的时候就直接从内存缓存中拿出数据了,自然要比从磁盘上加载数据快很多,Sql Server会定期清除缓存,所以一段Sql语句如果长期不执行后,就需要从磁盘从新加载数据。
先排除一下SQL的问题。
将加载慢的查询条件单独在SQL管理工具里执行看看查询速度