数据库的游标有什么必要性?

先说明一下我对游标肤浅的认识:游标是把数据库里的特定数据逐条从硬盘搬到内存中,以便在内存中的程序进行逐条遍历。

如果是这样的话,我就不清楚游标的必要性了,相较于游标遍历,把整个结果集读取到内存中操作有什么劣势吗?

我看见有人说“用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。”我想是不是因为在程序处理过程中数据库的数据可能发生变化所以逐条读取减少处理时间,避免不同步?

谢谢大哥们指教!


mysql
sql
数据库
2022-10-10 13:15:38
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
我也不知道叫啥么
2

只是搬几十条几百条都无所谓,但数据量是几百MB到几GB呢?

如果用的还是机械硬盘呢?几百MB就要读上好一会儿,几GB就等着按分钟算吧。

如果同时有几个请求去读几百MB数据呢?全搬进去吗?假设你的服务器有16G内存,一次读4G数据,同时来了10个请求,内存够用吗?

一次读几个MB,请求更多,GC压力不大吗?会不会OOM?

分享
微博
QQ
微信
回复
2022-10-10 14:54:13
相关问题
PolarDB 数据库结构是什么
1841浏览 • 1回复 待解决
OceanBase是什么数据库?
2436浏览 • 1回复 待解决
OrmDatabase 数据库问题
2376浏览 • 1回复 待解决
多个数据库,同步数据
1085浏览 • 1回复 待解决
数据库操作同步方法
753浏览 • 1回复 待解决
后端查询数据库性能问题
2673浏览 • 1回复 待解决
数据中台数据库选择问题
1083浏览 • 1回复 待解决
鸿蒙RDB数据库好用吗
1450浏览 • 2回复 已解决
OceanBase数据库特点有哪些?
3351浏览 • 1回复 待解决
如何将easymock数据插入到数据库
1174浏览 • 1回复 待解决
数据库查找查找不出来什么回事啊?
203浏览 • 1回复 待解决
关于数据库两个问题。
1166浏览 • 1回复 待解决
关于无限步骤数据库表设计
987浏览 • 1回复 待解决
用户查询消息数据库设计
1745浏览 • 1回复 待解决
RDS如何查看数据库名称?
1383浏览 • 1回复 待解决
如何读取本地/预制数据库
579浏览 • 1回复 待解决
如何连接PolarDB数据库集群 ?
2887浏览 • 1回复 待解决