社区
Oracle
帖子详情
求插入大量记录的高效方法?
qiujin
2005-09-27 03:16:55
我有一表CUSTOMER,拥有巨量记录,其中有一字段VALUE:NUMBER(8,4),现要求将原表中所有记录作为新记录插入,除VALUE增加1000外,其余字段值按原表字段值不变,原表中的旧记录保持不变。
望各位多多指教!力求高效!
...全文
185
18
打赏
收藏
求插入大量记录的高效方法?
我有一表CUSTOMER,拥有巨量记录,其中有一字段VALUE:NUMBER(8,4),现要求将原表中所有记录作为新记录插入,除VALUE增加1000外,其余字段值按原表字段值不变,原表中的旧记录保持不变。 望各位多多指教!力求高效!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Qqwwee_Com
2005-09-27
打赏
举报
回复
学习
===============================
CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
软件!
界面: http://qqwwee.com/
下载: http://qqwwee.com/csdn.rar 包含源代码
sasacat
2005-09-27
打赏
举报
回复
我写的本来就是这个意思啊,放心地用吧....
insert /*+ append */ into CUSTOMER nologging
select name,VALUE+1000,age from CUSTOMER;
或者
insert /*+ append */ into CUSTOMER(name,VALUE,age )
select name,VALUE+1000,age from CUSTOMER;
也是一样
laofang
2005-09-27
打赏
举报
回复
刚才漏了一点,重新写过:
insert /*+ append */ into CUSTOMER nologging
select /*+ parallel(old,8) */ * from CUSTOMER_OLD old;
insert /*+ append */ into CUSTOMER(a,b,c,...,VALUE) nologging
select /*+ parallel(old,8) */ a,b,c,...,VALUE+1000 from CUSTOMER_OLD old;
laofang
2005-09-27
打赏
举报
回复
我没什么高招,就插2次;在sasacat(傻傻猫) 的基础上再加上并行处理,速度会快一些:
insert /*+ append */ into CUSTOMER nologging
select /*+ parallel(a,8) */ * from CUSTOMER;
insert /*+ append */ into CUSTOMER(a,b,c,...,VALUE) nologging
select /*+ parallel(a,8) */ a,b,c,...,VALUE+1000 from CUSTOMER;
qiujin
2005-09-27
打赏
举报
回复
我的意思就是:
假设我表原来有三条记录:
NAME VALUE AGE
张三 2900 26
李四 3500.99 34
王五 8709 38
通过插入记录后,表中记录为:
NAME VALUE AGE
张三 2900 26
李四 3500.99 34
王五 8709 38
张三 3900 26
李四 4500.99 34
王五 9709 38
sasacat
2005-09-27
打赏
举报
回复
licsth() 你的并不算高效啊。还是要记录日志。
我的就是真正高效了,...加了 nologging 关键字,以保证不记录在日志里
然后提示了/*+ append */表示这是增加数据
小李木耳
2005-09-27
打赏
举报
回复
你说的不是要加1000行吧?那也得符合逻辑呀,按照你阐述的,真是不明白。
小李木耳
2005-09-27
打赏
举报
回复
“....,除VALUE增加1000外,其余字段值按原表字段值不变,原表中的旧记录保持不变。”
楼主什么意思吗?又说:“我的旧记录的VALUE字段不要加1000,保持不变。”明显矛盾啊!
小李木耳
2005-09-27
打赏
举报
回复
没法再明白了,按照我的sql执行一下就行了:
INSERT INTO CUSTOMER
(.., VALUE, ..,...)
(SELECT .., VALUE+1000, ..,...from CUSTOMER )
你不是要我说明...吧,是你要插入那张表的其他字段。
qiujin
2005-09-27
打赏
举报
回复
我的旧记录的VALUE字段不要加1000,保持不变。
qiujin
2005-09-27
打赏
举报
回复
licsth():我也不太明白你说的方法,能否解释一下?
qiujin
2005-09-27
打赏
举报
回复
sasacat(傻傻猫):我不太明白你说的方法,能否解释一下?
小李木耳
2005-09-27
打赏
举报
回复
好你个‘ sasacat(傻傻猫)’又碰到你了,我这几天没留意你加了一个角了。
我追...
qiujin
2005-09-27
打赏
举报
回复
望大家说的详细、清楚点。谢谢!
小李木耳
2005-09-27
打赏
举报
回复
但注意+1000之内不得有主key重复!!!
sasacat
2005-09-27
打赏
举报
回复
insert /*+ append */ into CUSTOMER(a,b,c,...,VALUE) nologging
select a,b,c,...,VALUE+1000 from CUSTOMER;
小李木耳
2005-09-27
打赏
举报
回复
INSERT INTO CUSTOMER
(.., VALUE, ..,...)
(SELECT .., VALUE+1000, ..,...from CUSTOMER )
jessica_zz
2005-09-27
打赏
举报
回复
select * from CUSTOMER for update;
oracle
高效
插入
数据,Oracle:
高效
插入
大量
数据经验之谈
【IT168评论】在很多时候,我们会需要对一个表进行
插入
大量
的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做
大量
数据insert的一些经验。前提:在做insert数据之前,如果是非生产环境,...
Redis
大量
数据
插入
我们称之为
大量
数据
插入
(mass insertion),本文档的目标就是提供如下信息:Redis如何尽可能快的处理数据。 本文参考网上方案特意整理总结如下: 方式一:使用Luke协议,通过redis-cli –pipe发送数据到服务器 使用...
SQLite数据库中用insert同时
插入
多条
记录
的
方法
和效率比较
Android开发中我们常会遇到这样一种情况:在建立一个SQLite数据库时,想同时
插入
大量
数据。那么应该怎么做呢? 下面笔者以
插入
20条
记录
为例: 将同时
插入
大量
的数据写成一条SQL语句 最笨的
方法
用insert...
Oracle:
高效
插入
大量
数据经验之谈
前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。 insert into tab1 select * from tab2;...但是该
方法
产生的arch会非常快,需要关注归档的产生量,及时
qt往mysql写入
大量
数据库_Qt
插入
大量
数据到sqlite数据库,使用事务提升效率(效率提高的惊人)...
Qt在操作
大量
数据执行
插入
操作时,推荐使用事务1.SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章