gpt4 book ai didi

SQL Server 快进游标

转载 作者:行者123 更新时间:2023-12-02 14:12:37 24 4
gpt4 key购买 nike

人们普遍认为,应尽可能避免在存储过程中使用游标(用基于集合的逻辑等替换)。如果您需要迭代某些数据,并且可以以只读方式执行,那么快进(只读前进)游标是否比 while 循环效率更高或更低?根据我的调查,光标选项通常速度更快,并且使用更少的读取和 CPU 时间。我没有做过任何广泛的测试,但这是其他人发现的吗?这种类型的游标(快进)是否会带来额外的开销或资源,我不知道这些开销或资源可能会很昂贵。

所有关于不使用游标的讨论实际上都是为了在基于集合的方法可用时避免使用游标,以及使用可更新游标等。

最佳答案

虽然快进游标在 Sql Server 2005 中确实有一些优化,但它们在性能方面并不真的接近基于集合的查询。在极少数情况下,游标逻辑不能被基于集合的查询替代。游标本质上总是较慢,部分原因是您必须不断中断执行才能填充局部变量。

这里有一些引用资料,如果您研究这个问题,这只是冰山一角:

http://www.code-magazine.com/Article.aspx?quickid=060113

http://dataeducation.com/re-inventing-the-recursive-cte/

关于SQL Server 快进游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com