SQL Server技术问题的游标优缺点

分类:

MS SQL SERVER 支持三栽档次的游标:Transact_SQL 游标,API
服务器游标和客户游标。

(1) Transact_SQL 游标

Transact_SQL 游标是由于DECLARE CURSOR 语法定义、主要为此当Transact_SQL
脚本、存储过程及触发器中。Transact_SQL
游标主要用在服务器上,由由客户端发送给服务器的Transact_SQL
语句或是批处理、存储过程、触发器中的Transact_SQL
进行管理。Transact_SQL 游标不支持提取块或多实践。

(2) API 游标

API 游标支持以OLE DB, ODBC 以及DB_library
中使游标函数,主要为此当服务器上。每一样涂鸦客户端应用程序调用API
游标函数,MS SQL SEVER 的OLE DB 提供者、ODBC驱动器或DB_library
的动态链接库(DLL) 都见面以这些客户要传送给服务器因为对API游标进行处理。

(3) 客户游标

客户游标主要是当以客户机上缓存结果集时才用。在客户游标中,有一个缺省之结果集被用来当客户机上缓存整个结果集。客户游标仅支持静态游标而未动态游标。由于服务器游标并无支持具备的Transact-SQL
语句或批处理,所以客户游标常常只为作为服务器游标的辅。因为以一般景象下,服务器游标能支持绝大多数的游标操作。

鉴于API 游标和Transact-SQL
游标使用在劳动器端,所以让叫做服务器游标,也受叫作后台游标,而客户端游标被名前台游标。

优点:

1)允许程序对由询问语句select返回的行集合中的各国一行行同样或不同之操作,而不是针对全部行集合执行和一个操作。

2)提供对因游标位置的表中的行开展去和更新的力量。

3)游标SQL Server实际上作为面向集的数据库管理体系(RDBMS)和面向行的次设计里的桥,使这片种处理方式通过游标沟通起来。

缺点:

拍卖非常数据量时,效率低下,占用内存大;
诚如的话,能利用另外艺术处理数据时,最好不要使用游标,除非是当您利用while循环,子查询,临时表,表变量,自建函数或外措施都心有余而力不足处理某种操作的下,再考虑下游标。

相关文章