使用while循环而不是游标是个好主意吗?游标有哪些优点/缺点?
其中一些取决于DBMS,但通常:
优点:
在逐行处理时,表现优于循环
适用于大型数据集
缺点:
不要扩展
使用更多服务器资源
增加tempdb的负载
如果使用不当会导致泄漏(例如,打开时没有相应的关闭)
我正在遵循这一点建议:
[...]哪个更好:游标还是WHILE循环?再次,它真的取决于你的情况.我几乎总是在必要时使用游标循环遍历记录.游标格式对我来说更直观一些,因为我只是使用构造来遍历结果集一次,所以使用FAST_FORWARD游标是有意义的.请记住,您使用的游标类型将对循环结构的性能产生巨大影响.
- Tim Chapman 在SQL Server 2008中比较游标与WHILE循环性能
链接的文章包含如何实现每种方法的简单示例.