当前位置:  技术问答>java相关

迷惑:insert操作越来越慢?!

    来源: 互联网  发布时间:2015-05-31

    本文导语:  我通过SYBASE的JDBC连接数据库,从一个数据库每次SELECT 1000条数据于resultset中,然后将这1000条数据insert到另一数据库中,如此反复!发现select 1000操作越来越快,最后也就几十毫秒左右,而insert操作却越来越慢,由几...

我通过SYBASE的JDBC连接数据库,从一个数据库每次SELECT 1000条数据于resultset中,然后将这1000条数据insert到另一数据库中,如此反复!发现select 1000操作越来越快,最后也就几十毫秒左右,而insert操作却越来越慢,由几十秒到100多秒,。。。我的天,如此下去,还得了?insert操作还用的是PreparedStatement
while(rsSource.next())
      {
       preStmt.setString(1,rsSource.getString("one"));
         preStmt.setDate(2,rsSource.getDate("two"));
         preStmt.setInt(3,rsSource.getInt("year"));
         preStmt.setInt(4,rsSource.getInt("month"));
         preStmt.setInt(5,rsSource.getInt("day"));
        ..........
.....................
        // preStmt.addBatch();
        preStmt.executeUpdate();
        connDest.commit();
        iCount++;
      } 
我试过批量提交,也不行,还更慢!啊,搞不懂了。各位给点意见,谢谢了!

|
可能是insert to的表上设置了索引,索引可以提高查询速度但导致插入速度变慢,特别是数据越来越多时。

建议
1.精简索引,取消不需要(不常用)的索引
2.如果有权限的话,在insert操作前,暂时禁用索引,insert完成后,再启用索引

|
我看还是索引的问题!你把索引建的小一点,尽量用短小点的CHAR,千万不要超过20位长,如果超过了索引就没什么用了!

|
不知道你的数据库是什么数据库,不过索引确实对插入数具有较大影响,尤其是你的数据表中的数据比较大的时候,像oracle数据库达到100万条的时候在索引存在的条件下已经很难差如一条数据了。
   如果你的也是在数据大的时候出现这种情况的话,建议你在插入完数据之后再建立索引。这里索引不是指不重要的索引,是所有的

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • nohup 的问题,迷惑中。
  • 引用类的一点迷惑
  • 初学者的迷惑?
  • 一个让人迷惑的问题!
  • 学习java的迷惑...望各位大侠指点迷经
  • 处于迷惑之中!
  • 迷惑!
  • 初学的迷惑
  • 开心与迷惑
  • 输入子系统应用层设计迷惑
  • 作 Linux/Unix开发 应该从何处入手?致力于Linux开发的迷惑???欢迎讨论。
  • 迷惑???
  • 送分,非常迷惑,这是为什么,请不吝赐教?
  • 【寻找帮助】有关cvs时间的问题,十分迷惑。。。。
  • 运动的思想是什么?怎么有点迷惑不解?
  • 求助!!!关于http协议解析,chunked类型迷惑
  • 迷惑的类路径问题
  • fb_notifier_call_chain的迷惑
  • iptables问题,搜索过后仍迷惑
  • 关于du 命令有些迷惑,请看这个问题。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3