• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
james1207

博客园    首页    新随笔    联系   管理    订阅  订阅

数据库入库的方式实现

        第一种方式,insert方式。该种方式简洁暴力,需要对每个字段的值进行解析获取。如果采用一条一条插入的话,效率非常慢,稍微好一点的话,批量插入。当数据量不大的时候,采用该种方式影响不大。而且当某些记录插入失败,不影响其他的话,采用该种方式可以实现。

     第2种方式,sqlldr,按照某种格式的文件编排入库,对于大数据量,绝对是福音。建议采用该种方式,简单,容易掌握,几百万的数据都不在话下!语法如下:

         sqlldr userid=%s/%s@%s log=%s errors=9999999 data=%s control=%s direct=n rows=%d

        userid为用户名/密码@连接串 log为入库的日志,errors为错误数,data为入库的数据文件,control为入库的控制文件.  

控制文件例子:

      load data
infile "./call.txt"
Append
into table ticket_mm_item
fields terminated by '|'
trailing nullcols
(
        TICKET_ID "SEQ_TICKET_ID.nextval",             
        SERV_ID    ,
        ACC_NBR    ,           
        IMSI        ,  
        BILLING_CYCLE_ID,
        ACCT_ITEM_TYPE_ID,
        CHARGING_ID,
        APN,
        START_TIME       Date 'yyyy/mm/dd hh24:mi:ss', 
        END_TIME        Date 'yyyy/mm/dd hh24:mi:ss',  
        DURATION,      
        FLOWS, 
        CHARGE,
        FAVO_CHARGE,   
        FILE_NAME,     
        CLOSING_CAUSE,
        DEAL_TIME       Date 'yyyy/mm/dd hh24:mi:ss'
)

 

 

posted @ 2013-09-05 18:20  Class Xman  阅读(598)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3