正如标题中所提到的。我想知道SQLServer是否可以像oracle一样部分执行SQL?means server wait client to process the data in last network packet and then fill next packet我注意到,当您在SQLServer管理演播室中执行select语句时,您可以在该语句仍在运行时立即获得第一行。但是我不能在ADO组件中找到这个。我所能想到的就是使用服务器端游标和非键集类型游标。但ADO使用的是sp_cursoropen和sp_cursorfetch。不使用像sql*plus那样的缓存大小。它指出它是客户端行为者,不像SSMS中的现象。我想知道为什么。
发布于 2011-06-28 12:31:55
似乎SQL Server中的相应特性称为Array Fetch Size。(例如,讨论了这里。)
发布于 2011-06-28 12:18:27
你指的是SET ARRAYSIZE,加法命令
如果是这样的话,类似的设置可能是SET ROWCOUNT。不过,我在这里可能遗漏了一些微妙之处,因为我每天都不使用Oracle。
如果我猜错了,那么您能扩展一下"Array Size“的功能吗?因为在搜索Oracle Array大小时,我找不到任何似乎相关的命中。
实际上,我可以在SQL*Plus中找到关于set arraysize的内容,这似乎与ROWCOUNT有很大的不同。但是描述(它似乎控制在每次往返中返回多少行,但不限制总的行数)似乎与您的描述“部分执行类似oracle的SQL”不匹配。我想不出有什么能控制返回给客户的结果的批次。
https://stackoverflow.com/questions/6506196
复制相似问题