sybase数据库批量写库优化ITeyewangyi - 千亿集团

sybase数据库批量写库优化ITeyewangyi

2018-11-01 08:33:45 | 作者: 尔容 | 标签: 数据,批量,数据库 | 浏览: 1040

在大批量数据一起处理数据的进程傍边,总是感觉到数据库资源的有限性,体系的瓶颈总是会在数据库的功能上表现,由于体系地体系结构改动需求许多的改动,领导暂时不考虑体系结构的改动,所以只能在数据库上锱铢必较。
现在咱们的体系单表记载每天在500万到1000万之间,体系在sybase下只要一台服务器,在oracle下是rac的双机,选用jdbc进行数据的批量处理,在oracle下选用的是merge办法对数据进行处理,由于存在许多数据的更新,这是体系特征所决议的。在sybase下写库的功能总是很慢,选用的先批量update,再将更新失利的批量insert,可是功能一向没有得到太大的进步,最近同sybase的人员进行了屡次交流之后,发现sybase仍是有些参数能够设置的,在sybase15.5之前需求将数据库联接的DYNAMIC_PREPARE该特点翻开,设置成true,功能基本上会有5到10倍的进步,如果是数据源的装备的话能够是:
SybConnectionPoolDataSource sybDataSource = new SybConnectionPoolDataSource();
  sybDataSource.setServerName(serverName);
  sybDataSource.setDatabaseName(dataBaseName);
  sybDataSource.setPortNumber(portNumber);
  sybDataSource.setUser(user);
  sybDataSource.setPassword(password);
  sybDataSource.setCHARSET(charSet);
  sybDataSource.setDYNAMIC_PREPARE("true");
  dataSource = sybDataSource;
如果是单个衔接的话能够是:
String decPasswd = "";

    String urls = "";
    Properties info = new Properties();
    Connection dbConnection;
    info.put("user","sa");
    info.put("password","");
  info.put("DYNAMIC_PREPARE", "true");
  Class.forName("com.sybase.jdbc4.jdbc.SybDriver").newInstance();
  urls = "jdbc:sybase:Tds:liangq-mobile:5000/maindb";
  dbConnection = DriverManager.getConnection(urls, info); 
  return dbConnection;
经过上面的设置之后发现功能却是进步许多。
关于sybase15.5及以上的版别,是选用了jconn4,里边还有个特点是ENABLE_BULK_LOAD,关于批量刺进的进步功能十分显着,大约能够进步20倍。
sybase用的人比较少,在这里只对sybase的批量写库进行一个简略的介绍。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    按要求写sql句子itjob

    句子,学员,课程
  • 2

    检查数据库的SQL快报

    检查,数据库,检查表
  • 3

    DB2 备份和康复huabian

    康复,备份,数据库
  • 4

    运用MySQL头条

    运用,问题,效劳
  • 5
  • 6

    DATA PUMPfenghuang

    简略,指令,数据
  • 7

    Oracle Dimension 下alibaba

    邮编,区域,月度
  • 8

    Oracle失望锁和达观锁ITeyecsdn

    数据,时分,数据库
  • 9

    start with 用法ITeyeitjob

    子句,末梢,树形
  • 10

    mysql 根本指令ITeye头条

    用户,权限,体系