在我们的sql服务器上,一个查询需要20毫秒。 如果我查看执行计划,则使用并行性,哈希匹配,位图创build,…两个箭头指向左侧的许多图像。
在我们的产品运行的客户的SQL服务器上,相同的查询需要2500毫秒。 如果我看着他们的执行计划,没有平行或任何与箭头的东西被使用…
我一直在寻找几天没有为什么查询在他们的SQL服务器上运行如此之慢。
另一个奇怪的是,在我们的服务器上,查询需要大约1200次读取和0次写入。 在他们的SQL服务器上,它需要150万次读取和1500次写入。 为什么这些在读取查询完成时写入?
在他们的SQL服务器上,它需要150万次读取和1500次写入。 为什么这些在读取查询完成时写入?
如果你看查询计划,你很可能会发现它不是纯粹的阅读,因为它涉及到一些临时的对象,显然是被写入的。 并列,合并并列都可以导致临时对象的写入操作。
您可以在执行计划的每一步中看到读/写。
在我们的产品运行的客户的SQL服务器上,相同的查询需要2500毫秒。 如果我看着他们的执行计划,没有平行或任何与箭头的东西被使用…
你检查了明显吗? 蹩脚的硬件 – 糟糕的CPU(不太可能),没有足够的RAM和完全超载的IO子系统? 现在许多人虚拟化了SQL服务器,不知何故,他们忘记了自己的大脑,放下了一个废话的IO子系统,这样你的SQL服务器很慢,因为光盘布局很糟糕。
我将不得不查看和比较两个执行计划(可以上传屏幕截图吗?或者最好,上传导出的计划,以便我可以将它们加载到企业pipe理器中)。