游标脚本性能问题解决与分析 (4) - Cursor Performance Analysis

本文详细介绍了SQL Server中的Fast Forward Only游标,这是一种性能优化策略。当遇到特定情况时,Fast Forward Only游标会自动转换为其他类型。文章列举了使用游标的一些建议,如尽量使用FORWARD-ONLY或FAST-FORWARD只读游标以减少开销,避免使用static和keyset游标以减少内存争抢,并建议在适当时候加载并滚动游标到最后以释放资源。同时,对比了fast_forward与read_only forward_only游标的适用场景,并探讨了动态计划与静态计划的优缺点,为开发者提供了性能优化的指导。
摘要由CSDN通过智能技术生成

第四部分、游标相关知识讲解

(一)Fast Forward Only(快速只进)游标分析

Microsoft SQL Server 实现了一种称作fast forward only游标的性能优化。http://msdn.microsoft.com/zh-cn/library/ms187502.aspx

当遇到下面情形时,Fast Forward-only游标会隐式转换为其他类型

<!--[if !supportLists]-->1.        <!--[endif]-->当SELECT语句连接包含trigger table(INSERTED/DELETED)的一个或多个表,游标被转换成static类型。

<!--[if !supportLists]-->2.        <!--[endif]-->当SELECT语句查阅text、ntext或image列,如果SQL Server OLE DB访问接口或使用了SQL Server ODBC驱动器,游标被转换成dynamic类型。

<!--[if !supportLists]-->3.        <!--[endif]-->当Fast Forward-only游标不是只读的,它会被转换成dynamic游标。动态游标是可以用来update当前滚动到的数据行并将更新回写到table中的。

<!--[if !supportLists]-->4.        <!--[endif]-->当SELE

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值