【发布时间】:2015-11-12 16:01:08
【问题描述】:
我在两个不同的环境中执行相同的查询
- 第一个环境有 4GB RAM 和 3.09 Ghz 的 Intel 处理器。
- 第二个环境有 32GB RAM 和 2.20 Ghz 的 AMD 处理器。
我想知道为什么在第一个环境中执行查询需要 6 分钟,而在第二个环境中执行需要很多小时。
我通过执行下面的查询检查了为sql server分配的内存,两个环境具有相同的值。
SELECT value_in_use
FROM sys.configurations
WHERE name = 'max server memory (MB)'
查询在第二种环境中花费太多时间的原因可能是什么?
PS : 两种环境的行数相同(约 200 万)
【问题讨论】:
-
查询时间也取决于访问表中的行数。第二个环境有大桌子吗?
-
检查架构差异以查看是否缺少任何索引
-
你对比过查询执行计划吗?
-
请发布两个查询的执行计划。尝试在两台服务器上运行另一个查询。它在 server2 上的执行速度是否也明显变慢了?
-
每个处理器有多少个内核?
标签: sql sql-server performance sql-server-2008-r2