运行到一半先返回结果然后接着运行可以吗? 35dinona]

发布时间:2016-12-8 2:24:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"运行到一半先返回结果然后接着运行可以吗? 35dinona]",主要涉及到运行到一半先返回结果然后接着运行可以吗? 35dinona]方面的内容,对于运行到一半先返回结果然后接着运行可以吗? 35dinona]感兴趣的同学可以参考一下。

有这样的sql语句吗,如题 例如我想统计1000W条数据 可是希望边统计边返回结果 给我做其他运算以至不用我 等待处理完所有的数据才接着 做其他事情 如果先统计1w然后再接着统计第2w,这样需要重新加条件进行筛选 划不来, 于是我想会不会有这样的sql语句, 我就让它统计1000w条数据, 但是当它统计完第1w条之后返回结果, 不用我再发第2条sql语句在继续往下统计,直到完成,可以实现吗?

貌似不行

没用过。等高手

答案是不可以 

你可以查询出来后,1W1W地拷贝

可以设计成那种类似分页的来做  先1-10000 然后10001-20000 不过估计会用到循环  

 不考虑效率,用循环,判断,是否为1000W,是则,返回结果。否则继续

我需要的是实时返回结果,例如先计算1~1w个数据的和,返回 然后我在图上显示出来,然后计算1w~2w之间的数的和,返回 由于我这边筛选的条件较为复杂,所以不想用循环每次还要 改动sql语句的条件

引用 4 楼 sgtzzc 的回复:你可以查询出来后,1W1W地拷贝 正解,可以中间加一个:waitfor delay '00:00:10' --时分秒, 或waitfor time '10:27:00'--取系统时间

引用 5 楼 fredrickhu 的回复:可以设计成那种类似分页的来做 先1-10000 然后10001-20000 不过估计会用到循环  正解,可以中间加一个:waitfor delay '00:00:10' --时分秒,  或waitfor time '10:27:00'--取系统时间  刚刚引用错了。呵呵。

肯定不是正解啦, 你想想,本来我1w条数据让数据库给我计算完了也就返回1条数据 现在你是返回1w条数据给我让我来计算,这效率可想而知了吧?

引用 9 楼 sqlserver5 的回复:引用 5 楼 fredrickhu 的回复: 可以设计成那种类似分页的来做 先1-10000 然后10001-20000 不过估计会用到循环  正解,可以中间加一个:waitfor delay '00:00:10' --时分秒, 或waitfor time '10:27:00'--取系统时间 刚刚引用错了。呵呵。 能写个具体点的sql语句让我参考下吗? 就写统计和的就可以了,加上循环的

应该不行

用程序的话可以用提示试下,影响速度应该能快些。 select * from with (fastfirstrow )  ...  

不可以

或 select *from .. where ... OPTION (fast 10000); 可以让先返回部分的结果

没有人有其他的答案了吗? 自己的想法也好呀

上一篇:求助: 如何判断某个表是否被锁 50hansuzhi]
下一篇:存储过程,在运行时总是说go附近有语法错误! 20alan_lau]

相关文章

相关评论