第一次运行查询时,数据不在数据高速缓存中,因此必须从磁盘中检索。此外,它还必须准备执行计划。随后,您运行查询时,数据将位于高速缓存中,因此不必进入磁盘即可读取数据。它还可以重用最初生成的执行计划。这意味着执行时间可能要快得多,这也是为什么理想的情况是拥有大量的RAM,以便能够在内存中尽可能多地缓存数据(数据缓存提供了最大的性能改进)。
如果执行时间随后再次增加,则有可能从缓存中删除数据(执行计划也可以从缓存中删除)-取决于对RAM的压力。如果sql Server需要释放一些空间,它将从缓存中删除内容。最常使用/具有最高价值的数据/执行计划将保留更长的缓存时间。