社区
应用实例
帖子详情
临时表 与 游标 取舍
yidichaxiang
2011-10-12 02:03:37
若有一张大数据的的表A,现在需要对它进行复杂的逻辑处理,并且计算单元是基于单行的,并且涉及多个关联表的操作,
这时是用临时表,还是游标好.
...全文
237
24
打赏
收藏
临时表 与 游标 取舍
若有一张大数据的的表A,现在需要对它进行复杂的逻辑处理,并且计算单元是基于单行的,并且涉及多个关联表的操作, 这时是用临时表,还是游标好.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tearsmo
2011-10-14
打赏
举报
回复
如果经常有变动数据的表游标不太好用,临时表的话,其实大多时候可以用公用表表达式替代
oO寒枫Oo
2011-10-14
打赏
举报
回复
数据量大 游标 就别用了
临时表要用的话 先计算下 tempdb的大小
wcj1018_net
2011-10-14
打赏
举报
回复
推荐用临时表,游标慢就慢在要一条一条的处理数据
临时表你可以批量查询出数据,然后处理
yidichaxiang
2011-10-14
打赏
举报
回复
都是说,游标效率很慢,但到底是慢在什么地方,
即使在对每一行都做个别处理的时候,我们只需定义个临时表,再加上流程控制语句,就能实现了,即使更新,我们可以再计算完成后再统一更新,也是未尝不可,
dongzeqwq
2011-10-13
打赏
举报
回复
游标跟临时表为什么不推荐? 因为性能不好~,但是它存在肯定有意义的。它能完成它自己特定的功能。别的方式有可能可以。但是性能,和理解性不好吧。要在关键的时候用,这才最重要
dongzeqwq
2011-10-13
打赏
举报
回复
[Quote=引用 12 楼 ssp2009 的回复:]
游标就别考虑了。
[/Quote]
我现在都做存储过程都能游标三连套。。 怎么说好呢。游标更适合改程序改功能。。做软件前期没弄好扩展性。游标还是有必要的
dongzeqwq
2011-10-13
打赏
举报
回复
[Quote=引用 4 楼 fredrickhu 的回复:]
你的这个如果非常复杂 又是单行处理 估计必须要用到游标
但是游标其实和临时表又不冲突 你在用临时表的时候一样可以使用游标
这个有什么问题?
[/Quote]
小f说的对,两个没冲突的。。你要是每行数据作出不同的选择的话用游标处理。如果你只是吧数据取出来。用临时表搞定
NBDBA
2011-10-13
打赏
举报
回复
[Quote=引用 9 楼 yidichaxiang 的回复:]
我主要是对游标与临时表的效率孰优孰劣不太清楚,如何取得在什么时候选择临时表,什么时候是游标
[/Quote]
这也很难说哪个效率高,具体情况具体分析
一般,数据量比较大应该选择临时表,小的可以用游标,注意超过1000就不要用游标了
快溜
2011-10-13
打赏
举报
回复
游标就别考虑了。
gw6328
2011-10-13
打赏
举报
回复
这个等游标哥出现。
saizhang
2011-10-13
打赏
举报
回复
临时表, 游标能不用就别用
yidichaxiang
2011-10-13
打赏
举报
回复
我主要是对游标与临时表的效率孰优孰劣不太清楚,如何取得在什么时候选择临时表,什么时候是游标
baiynije
2011-10-13
打赏
举报
回复
遑不得已才用遊標
petermei
2011-10-13
打赏
举报
回复
先用临时表缩小数据量,若要每行做处理,估计得要用游标了……如果服务器性能很好,游标其实很快的哦……只要用户满意,其它的先放放吧……
灵欣子
2011-10-13
打赏
举报
回复
必須要對每行數據,做額外處理,需要用游標
若大批量處理,還是用臨時表
yidichaxiang
2011-10-13
打赏
举报
回复
确实,两者不冲突,就是连复杂情况下,到目前为止都是可以用零时表处理的,想不出,游标具体使用情况
NBDBA
2011-10-12
打赏
举报
回复
两个都不是好方法,最好的是都不用,大部分逻辑是可以用表连接+合适的字段计算写法来实现的
AcHerat
2011-10-12
打赏
举报
回复
游标的效率不是很好,看看不同数据量情况下两者哪个最优。
AcHerat
2011-10-12
打赏
举报
回复
还是具体问题具体分析了,建议你都写出来,看执行计划做对比,然后取舍。
-晴天
2011-10-12
打赏
举报
回复
在用临时表和游标都能达到目的时,用临时表,否则如果只能用游标实现,则用游标.
加载更多回复(4)
(3.7)常用知识-
游标
的
取舍
概念:在逐条处理数据的时候,
游标
显得十分重要,特别是在处理每一条数据时,需要与其他过程交互的情况下,如果不用
游标
,那真是太好了。 本章不介绍
游标
的具体使用, 1.全局
游标
与本地
游标
(1)定义
游标
的语句中指定 在定义
游标
时,可以使用global关键字将
游标
显式地定义为全局
游标
,使用local关键字将
游标
定义为本地。 (2)通过数据库选项控制 如果定义
游标
时,未使用g...
游标
游标
是存储在数据库服务器上的一个数据库查询,它不是一条select语句,他是一个结果集,有了
游标
就可以根据需要滚动浏览器数据 了 for update 是将数据库表的数据进行锁定的操作,不让其他的事务可以修改。早Oracle中的这种锁定是对查询结果数据及进行加锁,其他数据不会被加锁,方式叫行级锁 行级锁:数据库表中的数据进行锁定的操作,不让其他事务可以修改,在Oracle...
MySql进阶篇---006:存储引擎,索引,SQL优化,视图、存储过程、变量、流程控制、
游标
、存储函数、触发器,主键如何设计,事务
MySql进阶篇---006:存储引擎,索引,SQL优化,视图、存储过程、变量、流程控制、
游标
、存储函数、触发器
面试必背 - Mysql篇
Java面试题之MySQL
Mybatis 的7大天坑,你都踩过吗?
大多数开发者应该都使用过Hibernate或者Mybatis的框架,或多或少都踩过一些坑! 如在MyBatis/Ibatis中#和$的区别,#方式能够很大程度防止sql注入,$方式无法防止Sql注入。所以,老司机 对新手说,最好用#。简单的说#{}是经过预编译的,是安全的,而是未经过预编译的,仅仅是取变量的值,是非安全的,存在sql注入。有些特例是需要关注的,有的时候需要用 解决解决一些实际问题...
应用实例
27,581
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章