社区
基础和管理
帖子详情
插入大量数据时,自增列怎么实现性能比较好?
saint13
2010-09-27 08:38:00
大家好,在某个ETL过程中,要往某表插入大量数据(千万条)时,
自增列怎么实现性能比较好?
多谢
...全文
247
12
打赏
收藏
插入大量数据时,自增列怎么实现性能比较好?
大家好,在某个ETL过程中,要往某表插入大量数据(千万条)时, 自增列怎么实现性能比较好? 多谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
心中的彩虹
2010-09-28
打赏
举报
回复
[Quote=引用楼主 saint13 的回复:]
大家好,在某个ETL过程中,要往某表插入大量数据(千万条)时,
自增列怎么实现性能比较好?
多谢
[/Quote]
用序列
建序列的时候把cache 设置大点
saint13
2010-09-28
打赏
举报
回复
我是能实现类似SQL Server中identity(1,1)这样的列,即你插入的时候不管这个列,
但是,出于性能考虑,我想避免用触发器+Sequence来实现。
谢谢。
hailang1118
2010-09-28
打赏
举报
回复
用序列,一次提交要是多的话把序列的CACHE弄大一点。
zkl516321905
2010-09-28
打赏
举报
回复
个人推荐用Oracle的序列吧,序列毕竟是Oracle自带的针对自动增长数据的解决方案,性能应该能解决你这个问题,但也可能有其他解决方案。
minitoy
2010-09-28
打赏
举报
回复
这种还是直接把seq.nextval写到sql里比较好,触发器是比较影响效率的.
dollyxz
2010-09-28
打赏
举报
回复
这个应该比较好实现的,我过去是这样做的,用SQL Server 做过渡,完成自增,然后在导入到Oracle
ojuju10
2010-09-28
打赏
举报
回复
用序列吧,oracle没有自增列,都是用序列来实现的
epsilon-delta
2010-09-28
打赏
举报
回复
[Quote=引用 9 楼 saint13 的回复:]
引用 5 楼 minitoy 的回复:
这种还是直接把seq.nextval写到sql里比较好,触发器是比较影响效率的.
我也是要避免使用触发器,
但是,如果在批量载入时,不是写sql语句,我无法使用seq.nextval啊。
谢
[/Quote]
你使用什么实现ETL的?
saint13
2010-09-28
打赏
举报
回复
[Quote=引用 5 楼 minitoy 的回复:]
这种还是直接把seq.nextval写到sql里比较好,触发器是比较影响效率的.
[/Quote]
我也是要避免使用触发器,
但是,如果在批量载入时,不是写sql语句,我无法使用seq.nextval啊。
谢
wffffc
2010-09-27
打赏
举报
回复
用序列,cache设大点,no order
gelyon
2010-09-27
打赏
举报
回复
用序列来实现自增
create sequence seq Start with 1 increment by 1;
使用 select seq.nextval from dual;
huangdh12
2010-09-27
打赏
举报
回复
ETL 不知道 。 我有一种方法是用当前maxid +rownum 应该效率还行。
数据
库使用
自增
ID好还是UUID好?为什么?
数据
库使用
自增
ID好还是UUID好?为什么?
mysql
自增
列
类型_MySQL--
自增
列
学习
##=====================================================================================##在
数据
库表设计中会纠结于”自然键”和”代理键”的选择,自然键在
实现
数据
“软删除”
时
实现
比较
复杂,部分自然键因为键值过长或多
列
组合导致不适合作为表主键,而
比较
常见两种代理键为
自增
列
(auto incremnet)和全局唯一标...
为什么一般用
自增
列
作为主键?
为什么一般用
自增
列
作为主键? 为什么一般用
自增
列
作为主键? 如果表使用
自增
主键,那么每次
插入
新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页 如果使用非
自增
主键(如果身份证号或学号等),由于每次
插入
主键的值近似于随机,因此每次新记录都要被插到现有索引页的中间某个位置,此
时
MySQL不得不为了将新记录插到合适位置而移动
数据
,这增加了很多开销,同
时
会增加
大量
的碎片 1.从业务上来说 在设计
数据
库
时
不需要费尽心思去考虑设置哪个字段为主键。然后是这些字段只是理
SQL Server中的
自增
标识
列
与大
数据
处理
在SQL Server
数据
库中,
自增
标识
列
(Identity)是一种常用的
列
类型,它可以自动分配唯一的数值标识符。3.2 序
列
对象(Sequence Object):SQL Server 2012及更高版本引入了序
列
对象,它可以作为
自增
标识
列
的替代方案。2.2 冲突问题:在分布式系统或并行处理环境中,同
时
插入
大量
数据
时
可能会导致
自增
标识
列
的冲突。上述代码创建了一个名为MyTable的表,其中包含一个
自增
标识
列
ID和一个Name
列
。2.1
性能
问题:当
插入
大量
数据
时
,
自增
标识
列
的
性能
可能受到影响。
mysql中
自增
列
在高并发下_MySQL
插入
与
自增
主键值相等的字段 与 高并发下保证
数据
准确的实验...
场景描述: 表t2 中 有
自增
主键 id 和 字段v 当
插入
记录的
时
候 要求 v与id 的值相等(按理来说这样的字段是需要拆表的,但是业务场景是 只有某些行相等 )在网上搜的一种办法是 先获取
自增
IDSELECT max(id)+1 from t2然后给v字段
插入
获取到的值但是这样的做法在有删除行+调整过
自增
值的表中是不准确的于是换个思路 从information_schema 下手 读取...
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章