【发布时间】:2012-05-29 06:47:30
【问题描述】:
我有一张 500 行的小桌子。 该表有 10 列,包括 1 个 varchar(max) 列。
当我执行这个查询时:
SELECT TOP 36 *
FROM MyTable
WHERE (Column1 = Value1)
它在 3 分钟内检索了大约 36 行。 varchar(max) 列每行包含 3000 个字符。
如果我尝试只检索少一行:
SELECT TOP 35 *
FROM MyTable
WHERE (Column1 = Value1)
然后查询在 0 秒内检索 35 行。
在我的客户统计数据中,从服务器收到的字节数:
95 292 表示查询在 0 秒内检索数据
查询在 3 分钟内检索数据超过 200 000 000
你知道它是从哪里来的吗?
编辑 --- 这是我的真实代码:
select top 36 *
from Snapshots
where ExamId = 212
select top 35 *
from Snapshots
where ExamId = 212
编辑 --- 有关客户统计的更多信息
变化很大的两个统计数据是:
从服务器接收的字节数:66 038 Vs 超过 2 000 000
从服务器 30 Vs 11000 收到的 TDS 数据包
【问题讨论】:
-
如果问题已经存在,请发送查询计划。
-
@Toc 你解决了吗?我正在运行完全相同的问题。只有 10 条记录,1 列带有 nvarchar(max) 和一些数据,但没有什么疯狂的。完成前 1 名需要 3 分钟。
标签: sql-server sql-server-2008-r2