SQL Server执行计划难题

时间:2015-10-16 19:13:01

标签: sql-server sql-server-2008

在SQL Server 2008 R2下,使用大小约为1.5太字节的数据库:

我们正在测试对数据库中的表进行分区。数据库A未分区,B分区。

查询是通过执行SQL运行的,查询以字符串形式传递。

A中的查询在几秒钟内运行。 B中的查询运行超过一分钟。

将RECOMPILE选项添加到查询中,查询在B中与A中的相同时间运行。 删除RECOMPILE。时间又回到了缓慢的时间。

弹跳B&B的实例。 没有RECOMPILE的查询很慢。 快速查询RECOMPILE。 删除RECOMPILE。再次查询速度慢。

我们已经尝试了清除您在线查看的执行计划缓存的所有常用方法。

似乎会生成两个单独的执行计划。一个用于重新编译,一个用于没有重新编译。两者似乎都持续存在。

有人见过这种行为吗?

我们正试图摆脱缓慢的执行计划,以便查询始终采用快速计划,因为SQL始终是相同的。

提前致谢。

0 个答案:

没有答案