ORACLE快速插入一千万初始数据和删除重复数据

前两天生产上线是需要给用户创建初始数据,160万用户每个用户五条初始数据,加起来就是八百万数据

此处借鉴了yzsind的文章解决了这一问题

创建表和插入初始数据:create table myTestTable as 

select sys_guid() as id,sysdate as inserttime from dual connect by level <= 10000000

使用的时候发现查询特别的慢,才想起来忘了建立主键和索引了

然后在建立 主键和索引

之后可能是程序问题导致两条重复数据,除了rowid不一样其他的都一样,导致建立主键失败,又得删除重复数据才行

删除重复数据:delete from myTestTableq where q.rowid < (select max(u.rowid) from myTestTableu where q.id = u.id )

然后就成功了,但是查询速度还是不太快,大概需要3秒左右,看样子还的优化


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值