什么是mysql的游标_数据库中的游标到底是什么意思
数据库中的游标到底是什么意思
关注:177 答案:2 mip版
解决时间 2021-01-15 20:54
提问者更无风月
2021-01-15 15:53
数据库中的游标到底是什么意思
最佳答案
二级知识专家癡情菂尐豬豬
2021-01-15 16:47
游标用于按顺序遍历结果集。但一般情况下,应尽量避免使用游标。原因:1. 游标违背了关系模型,即按集合来考虑问题的思想;2. 游标逐行对纪录进行操作,会带来额外的开销,使用游标的解决方案通常比使用集合的解决方案要慢得多;3. 使用游标的解决方案,需要用很多代码来描述对游标的操作,因此代码更长,可读性更差,也更难以维护。
只有在少数情况下才应当使用游标。举两个例子:1. 需要遍历表名,进行DDL操作;2. 连续聚合,此时基于游标的解决方案可能比基于集合的解决方案更快。
全部回答
1楼凊搽蒗囝
2021-01-15 18:27
你是指asp里面的数据库连接组件里面所属记录集的游标吧?
如conn,1,1后面的参数什么的.
简单说来:
conn,1,1为只读数据;1,3为插入数据;2,3是修改数据
游标的意思形象的说一个表格里有许多行数据,我用鼠标指向某一行数据(在asp里面叫记录集)你可以拖用鼠标指向下一行。在asp里面同样也可以。不过要通过它:rs.movenext,记录集往下移。
至于具体和理论知识如下:
游标类型
const adopenforwardonly = 0
前向游标,为缺省游标,提供最快的运行性能。用它打开recordset,从对至尾顺序取得所有结果。它不支持向后滚动,只允许在结果间单向移动。
const adopenkeyset = 1
静态游标,反映第一次打开游标时表中数据的状态,游标无法查明底层表中的数据行是否更新过、删除过或添加了新的数据。不过与只能前移的洲标不同,静态游标可以在结果间前后滚动。
const adopendynamic = 2
键盘驱动的游标,可以查询表中底层数据行的某些变化,但不是全部。它特别是可以准确反映数据是否更新过。但它不能查明其它用户是否曾删除过数据行(删除掉的数据行在recordset中会留下空洞)。键盘驱动的游标支持在结果间前后滚动。
const adopenstatic = 3
动态游标,是最丰富的游标类型。游标打开时可以查询其他用户对表的任何改动,而且支持滚动。
加锁类型
const adlockreadonly = 1
缺省的上锁类型,只读方式上锁允许多个用户同时读取同样的数据,但不能改变数据。
const adlockpessimistic = 2
以悲观上锁方式打开数据对象。该方式假定在你编辑记录时会有其它用户访问数据。此时一旦你开始编辑记录,其它用户就不能访问该数据。
const adlockoptimistic = 3
以乐观上锁方式打开数据对象。该方式假定在你编辑记录时不会有其它用户访问数据。在完成改变之前,其它用户不能访问该记录。
const adlockbatchoptimistic = 4
执行多行批处理更新时使用这种类型
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看
什么是mysql的游标_数据库中的游标到底是什么意思相关推荐
- mysql 邮箱长度_数据库中电子邮件地址的最佳长度是多less?
数据库中电子邮件地址的最佳长度是多less? 这里是我查询的一部分,反映了EMAIL_ADDRESS列的数据types和属性: EMAIL_ADDRESS CHARACTER VARYING(20) ...
- mysql查询游标_数据库查询,游标。
1把test1中,价格高于2000,产地是中国,杭州的产品信息,放到新建表test1_temp中,2并且要求test1中的category替换成test2中的categoryname,3最后商品价格高 ...
- mysql 存储视频_数据库中怎样存储视频?谢谢各位
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...
- mysql关系运算_数据库中的关系运算
1.和(Union)运算.针对行 针对两张具有相同属 性的表,将两者表合并起来,在合并过程中遇到重复的行保留一项就行了. 2.差(difference)运算.针对行 vc3Ryb25nPjwvcD4K ...
- mysql 数据缓冲区,MySQL写入缓冲区在数据库中的作用( Change Buffer )
原标题:MySQL写入缓冲区在数据库中的作用( Change Buffer ) 介绍另外一种重要的数据变更日志,也就是InnoDB change buffer.Change buffer的主要目的是将 ...
- [导入]在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理
在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理 2000-08-16 14:47:33 在SYBASE数据库中,说明性数据库语言(SQL)是目前首推的最成功,应用最广泛的数 ...
- mysql支持非关系_说下oracle、mysql、非关系型数据库中的索引结构?
谢邀~~树懒君悉心整理了一篇索引结构方面的内容,跟各位知友分享分享~ Oracle 索引的数据结构:B-TreeOracle 数据库使用 B-trees 存储索引,来加速数据访问.若没有索引,你必须顺 ...
- mysql数据结构丢失_数据库谈一谈MySQL中的事务
我们都知道,计算机处理的速度非常地快,但是再快的计算机,也面临着这样的问题,同一个时间里面有着非常多的请求都要对统一资源发生操作.所以,在数据库中,引入事务来解决这样的问题. 我们举个简单的例子,我在 ...
- mysql 表组是什么_数据库中属性组究竟是什么含义?
展开全部 属性组的含义就是一组具有相互联系的属性组合而62616964757a686964616fe58685e5aeb931333433626564成的. 属性是比如一张表格中的学号和姓名等.一个事 ...
最新文章
- matplotlib交互模式
- spring 监听器 IntrospectorCleanupListener简介
- CentOS7 安装 Mysql 服务
- windows查看及配置路由
- 秒懂 this(带你撸平this)
- Java集合里的一些“坑”
- 非常好的Demo网站
- 计算机类教材的选题策划,电子计算机类科技期刊的选题策划.doc
- Android Ptrace Inject
- 如何在html中加入注释,HTML如何加脚注(注释)?
- 跳马问题:马走日,请问马从0,0位置出发,走到x,y目标点,还必须走k步,有多少种走法
- 车载系统大战:左边是BAT,右边是华为小米们
- Linux中的setenv与export
- 程序员进阶攻略笔记01-10
- 利用Civil3d导入桥梁中线至Revit中建立桥梁上部结构
- 代码审查(Code Review)
- 常用开源监控软件介绍
- Excel行列转置(行数据与列数据的转换)
- “该命令不是内部或外部命令”的 解决方法
- flickr api
热门文章
- web-packwebpack .\src\main.js .\dist\bundle.js 报错
- 2022年预训练的下一步是什么?
- 对比学习可以使用梯度累积吗?
- 论NLP可解释的评估:什么才是“好”的解释?
- MySQL学习第四章课后题
- 4.MyBatis全局配置文件SqlMapConfig.xml
- mysql InnoDB 聚集索引,二级索引
- mybatis使用if判断参数是否为空
- Go——Artifactory的AQL查询以及json解析解决方案
- C#——《C#语言程序设计》实验报告——综合练习——委托、Lambda表达式、LINQ、接口