WEB开发网
开发学院数据库MSSQL Server SQL Server游标使用实例 阅读

SQL Server游标使用实例

 2008-10-24 10:07:05 来源:WEB开发网   
核心提示: l 串行化过程 – 如果你需要以串行化方式完成一个过程,那么游标是一个可行的选项,SQL Server游标使用实例(3),l 管理员任务 – 很多管理员任务需要在串行状态下执行,这与基于游标的逻辑很相符,用可能并非事实的基于集合的方法直到获得数据的整个集合是完整的,

l 串行化过程 – 如果你需要以串行化方式完成一个过程,那么游标是一个可行的选项。

l 管理员任务 – 很多管理员任务需要在串行状态下执行,这与基于游标的逻辑很相符,但是基于其他系统的对象存在来满足这种需要。在某些情况下,游标用来完成这一进程。

l 大型数据集 – 在大型数据集的情况下,你可能会遇到以下任何一种情况:

基于游标的逻辑可能没有足够大的规模满足需求。

在服务器上具有大型数据集的运算而内存又很小,数据可能会被分页或独占SQL Server,这将是很费时间的,可能会导致争夺和内存的问题。

有些固有的工具把数据存储到一个隐藏的文件中,所以在内存中处理数据可能会也可能不会是实际的情况。

如果数据能够在一个中间数据库中处理,那么对生产环境的影响只有在最后数据被处理时,所以服务器上所有的资源可用于ETL过程,然后引入最后的数据。

SSIS支持批处理数据,这将解决把大量数据分解成更多可管理的大小和比用按行方法执行效果更好的总体需求。

根据游标或者SSIS逻辑如何编码,它可能基于检查点或者在游标的每一行做标记来在失败时重新启动。尽管如此,用可能并非事实的基于集合的方法直到获得数据的整个集合是完整的。同样地,解决行的问题会更加困难。

游标的替代

下面列出了可以替代能够满足相同需求的基于游标的逻辑:

l 基于集合的逻辑

l SSIS或者数据转换服务

l WHILE循环

l COALSCE

l sp_MSforeachdb

l sp_MSforeachtable

l CASE表达

l 用GO命令重复一批数据

上一页  1 2 3 

Tags:SQL Server 游标

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接