2013-08-27 33 views
1

当我执行TSQL查询或默认返回大量记录(1M +)的存储过程时,它会在查询仍在执行时开始显示结果。TSQL默认阻止“FAST N”输出

是否有办法阻止这种情况,并推迟返回结果直到查询执行完成?

+1

你为什么要这样?它可以通过存储在一个'#temp'表中,或者重写查询来获得一个阻塞操作符,然后它将服务器内存存储为整个结果集。 –

+0

我认为这可能是在我的其他问题导致问题:http://stackoverflow.com/questions/18468284/sqldatareader-does-return-all-records-3rd-attempt(也许我错了,但它似乎.NET代码读取只有“快N”的结果) –

回答

1

如果您添加类似返回的数据集列,它几乎可以肯定将无法做一个FAST(N)

.., MAX(prevColumn) OVER(PARTITON BY 1) As Dummy, ... 

哪里prevColumn是,你已经返回任何其他列,特别是当它不是一个索引列。

+0

这样做,谢谢。虽然结果是不需要我的其他问题:)但无论如何 –

0

您可以使用ORDER BY或SELECT中的Aggregate函数来帮助您。