游标用于按顺序遍历结果集。但一般情况下,应尽量避免使用游标。原因:

1. 游标违背了关系模型,即按集合来考虑问题的思想;

2. 游标逐行对纪录进行操作,会带来额外的开销,使用游标的解决方案通常比使用集合的解决方案要慢得多;

3. 使用游标的解决方案,需要用很多代码来描述对游标的操作,因此代码更长,可读性更差,也更难以维护。

只有在少数情况下才应当使用游标。举两个例子:

1. 需要遍历表名,进行DDL操作;

2. 连续聚合,此时基于游标的解决方案可能比基于集合的解决方案更快。

对SQL中游标的认识的更多相关文章

  1. SQL中游标的使用

    一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环 游标的类型:  1.静态游标(不检测 ...

  2. SQL中游标的使用--遍历数据逐行更新或删除:相当于for循环

    --------------------------------------例子1 单纯的游标-------------------------------- create TABLE Table1 ...

  3. SQL中游标的用法

    游标:是用来对表从上下每行循环取值,将值连接成为字符串.例子:对 pubs 数据库的dbo.titles 表.1.取得表中的总价格:select sum(price) from dbo.titles2 ...

  4. SQL中游标的使用(转)

    http://www.cnblogs.com/tianguook/archive/2011/03/09/1977987.html 一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言, ...

  5. SQL中游标的使用示例

    declare @email_source varchar(MAX); --1.原始发件人字段 declare @key_name varchar(50); --2.我方卷号或客户代码 declare ...

  6. Oracle存储过程中游标的简单使用

    存储过程中查询语句如何返回多行结果? 我们知道,如果存储过程中查询语句有多行结果输出,会报错:ORA-01422: exact fetch returns more than requested nu ...

  7. SQL Server中游标的使用

    举个栗子: -- 临时变量 DECLARE @Id UNIQUEIDENTIFIER -- 声明游标名 DECLARE cursor_name CURSOR FOR SELECT ID from CO ...

  8. MySQL/MariaDB中游标的使用

    本文目录:1.游标说明2.使用游标3.游标使用示例 1.游标说明 游标,有些地方也称为光标.它的作用是在一个结果集中逐条逐条地获取记录行并操作它们. 例如: 其中select是游标所操作的结果集,游标 ...

  9. mysql中游标的使用案例详解(学习笔记)

    1.游标是啥玩意?简单的说:游标(cursor)就是游动的标识,啥意思呢,通俗的这么说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行.我给大家准备一张图: 2.怎么使 ...

随机推荐

  1. Python绘图工具turtle库的使用

    #PythonDraw.py import turtle #引入了一个绘图库(海归库) turtle.setup(650,350,200,200) #设置一个窗体 turtle.penup() #将画 ...

  2. jsp include html 乱码问题

    感谢大佬:https://blog.csdn.net/sessionsong/article/details/38778853 在使用<%@ include page=""% ...

  3. ImageMagick转换图片格式

    /usr/bin/convert data/manager/tongji/Html/WebData/images/code0/xingfumima0_1000_0.jpg -colorspace cm ...

  4. Hibernate与JDBC事务整合

    一般大家都会使用Spring声明型事务 transactionAttributes 为 PROPAGATION_REQUIRED Hibernate 使用 HibernateTransactionMa ...

  5. 今天带大家了解一下ICMP协议及基本使用

    ICMP协议的介绍及基本使用 1.IP数据包头的格式 2.ICMP协议的功能介绍 3.ICMP的基本使用方法 1.在讲解ICMP协议之前,我们先来简单了解一下IP数据包格式如图所示: 2.好现在切入正 ...

  6. Typora如何上传图片到gitee

    Typora是一款非常好用的Markdown文本编辑器,深受广大程序员的青睐,那么在使用过程中,当我们插入图片的时候,其实是默认放在一个相对路径文件夹下的,这就导致,一旦我们移动文件,或者发送给别人, ...

  7. Node介绍

    https://segmentfault.com/a/1190000006121183 一. 概述 Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google ...

  8. sublime中运行python时编码格式问题

      方案一在程序文件中以下三句 import sys reload(sys) sys.setdefaultencoding('utf8') 方案二在方案一不行的情况下,去除python的问题,subl ...

  9. k8s集群中部署prometheus server

    1.概述 本文档主要介绍如何在k8s集群中部署prometheus server用来作为监控的数据采集服务器,这样做可以很方便的对k8s集群中的指标.pod的.节点的指标进行采集和监控. 2.下载镜像 ...

  10. Note/Solution - 转置原理 & 多点求值

    \[\newcommand{\vct}[1]{\boldsymbol{#1}} \newcommand{\mat}[1]{\begin{bmatrix}#1\end{bmatrix}} \newcom ...