社区
Informix
帖子详情
直接用sql还是用游标?
herobox
2010-03-03 08:05:38
是这样的,有两个数据库,一个数据库A,一个数据库B,A中的表a中几十万条数据,B中有个表b,现在要把A.a中的数据,经过条件筛选后(大概几万条)insert到B.b中,在Ec程序中实现,是直接用sql语句还是用游标好呢?谢谢!
...全文
220
11
打赏
收藏
直接用sql还是用游标?
是这样的,有两个数据库,一个数据库A,一个数据库B,A中的表a中几十万条数据,B中有个表b,现在要把A.a中的数据,经过条件筛选后(大概几万条)insert到B.b中,在Ec程序中实现,是直接用sql语句还是用游标好呢?谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bluemark_1974
2010-08-30
打赏
举报
回复
不是绝对的,要看数据库是否带日志,且机器的效率、日志空间大小。若日志空间太小,sql语句是根本执行不了的。另外,若是带日志的数据库,几万条记录在一个事务中插入也是很慢的,不如用游标读+插入游标。
bbgg
2010-07-02
打赏
举报
回复
当然是用SQl语句更好更直接
数据量大时,游标比较慢。
yudongming
2010-06-18
打赏
举报
回复
刚开始学INFORMIX,又了解了一点。。。
青葱岁月不可追
2010-05-30
打赏
举报
回复
[Quote=引用 7 楼 yoan_t 的回复:]
unload 然后 load
[/Quote]
o(∩_∩)o...这个8错,o(∩_∩)o...哈哈
再添加一步:提前备份数据
o(∩_∩)o...其实这种问题,可以用2种方法试一下,看看哪个好呗
o(∩_∩)o...注意锁表
yoan_T
2010-05-20
打赏
举报
回复
unload 然后 load
herobox
2010-04-18
打赏
举报
回复
是啊,我也觉得直接sql的效率高于通过EC程序使用游标的效率,因为觉得EC程序实际上也是要通过sql交给数据库去做,而且是一条一条的提交请求,何必非要C程序中间横插一杠子呢?
可是同事却说用游标效率高,而且给了我这么一句:要是都用sql,那还要程序干什么?那不把数据库给累死了?
我就无语了,想不出用什么和他辩论。自己想想也是,要是都能用sql实现,那为什么要通过EC实现?难道只是为了能调度和打监控?把活都一气儿交给数据库去做,是会让数据库占用内存高,IO也高吧?而用程序去做,可能是让应用程序占用内存,IO也是应用程序高,可是我想,即使交给数据库去做,数据库会有自己的优化去执行吧?
反正我就不确定何种方式比较好了,也不能去说服别人。
大家讨论讨论?
earthpea
2010-04-06
打赏
举报
回复
游标能不能就不用,效率太低,我用游标都是要么没有其他办法了,要么是要一条一条的飞快的在屏幕上跳动,还显示着已经处理多少条,让领导看着很有高科技的感觉的时候用,嘿嘿
xangyu79
2010-03-31
打赏
举报
回复
当然是用SQL好
dawugui
2010-03-12
打赏
举报
回复
[Quote=引用楼主 herobox 的回复:]
是这样的,有两个数据库,一个数据库A,一个数据库B,A中的表a中几十万条数据,B中有个表b,现在要把A.a中的数据,经过条件筛选后(大概几万条)insert到B.b中,在Ec程序中实现,是直接用sql语句还是用游标好呢?谢谢!
[/Quote]
我认为是直接用SQL写条件即可.
mymtom
2010-03-12
打赏
举报
回复
为什么要用EC,直接用SQL语句就可以了
SELECT * FROM A:a INTO B:b WHERE ...
identcurrent my
sql
_使用SCOPE_IDENTITY/IDENT_CURRENT时出现“
直接
执行
SQL
;无
游标
”错误
有关此错误的谷歌并没有太多,所以我在这里问。我正在使用My
SQL
切换PHP Web应用程序到
SQL
Server 2008(使用ODBC,而不是php_ms
sql
)。运行查询或其他任何东西都不是问题,但是当我尝试执行scope_identity(或任何类似的函数)时,出现错误“
直接
执行
SQL
;无
游标
”。我在插入后立即执行此操作,因此它仍应在范围内。运行相同的插入语句,然后查询插入ID在
SQL
Se...
postgres
直接
查看function返回的
游标
数据
在一些复杂的返回cursor的function中,经常需要查看返回的cursor的具体数据,已验证自己是否读懂了原先的
sql
,或者验证自己书写的是否正确,如果启动一个调用程序就比较麻烦了,pgAdmin可以是
直接
查看。 pgAdmin支持在
sql
窗口
直接
解析
游标
数据,就是
直接
查看
游标
的具体数据,不过需要特殊的查询
sql
,具体如下: 1、首先需要开启事务:执行begin;语句。 2、执行s
SQL
游标
cursor的运用
游标
的运用 1、使用
游标
变量:USE test2 GO DECLARE @VarCursor cursor; ------声明一个
游标
变量; DECLARE cursor_fruit CURSOR FOR ---声明
游标
; SELECT f_name,f_price FROM fruits;--给
游标
赋值; OPEN cursor_fruit; ----------------打开
游标
; S
SQL
Server中动态
游标
的定义
方法一:不知道多输出参数如何写:declare @cursor_name varchar(36),@str nvarchar(4000)select @cursor_name=newid() DECLARE @ckbm varchar(20) exec('DECLARE ['+@cursor_name + '] CURSOR FOR select f_ckbm from tbda_ck')exec('open ['+ @cursor_name+']')set @str=N'fetch from ['+ @
sql
server
游标
_
Sql
Server 利用
游标
批量更新数据
Sql
Server 利用
游标
批量更新数据Intro
游标
在有时候会很有用,在更新一部分不多的数据时,可以很方便的更新数据,不需要再写一个小工具来做了,
直接
写
SQL
就可以了Sample下面来看一个实际示例:-- 声明字段变量DECLARE @RegionCode INT;DECLARE @RegionName NVARCHAR(64);DECLARE @ProvinceId INT;--...
Informix
1,194
社区成员
2,872
社区内容
发帖
与我相关
我的任务
Informix
其他数据库开发 Informix
复制链接
扫一扫
分享
社区描述
其他数据库开发 Informix
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章