直接用sql还是用游标?

herobox 2010-03-03 08:05:38
是这样的,有两个数据库,一个数据库A,一个数据库B,A中的表a中几十万条数据,B中有个表b,现在要把A.a中的数据,经过条件筛选后(大概几万条)insert到B.b中,在Ec程序中实现,是直接用sql语句还是用游标好呢?谢谢!
...全文
176 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluemark_1974 2010-08-30
  • 打赏
  • 举报
回复
不是绝对的,要看数据库是否带日志,且机器的效率、日志空间大小。若日志空间太小,sql语句是根本执行不了的。另外,若是带日志的数据库,几万条记录在一个事务中插入也是很慢的,不如用游标读+插入游标。
bbgg 2010-07-02
  • 打赏
  • 举报
回复
当然是用SQl语句更好更直接
数据量大时,游标比较慢。
yudongming 2010-06-18
  • 打赏
  • 举报
回复
刚开始学INFORMIX,又了解了一点。。。
  • 打赏
  • 举报
回复
[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 ...

1,195

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧