`

oracle数据库数据量较大时更新数据较慢问题

阅读更多

 

           这今天在研究kettle工具,是一款国外纯java开发的开源ETL工具,抽取数据确实非常方便,大家有空可以去下载下来试试看,方便之处在于它不用安装,解压完了就能直接用了(必须提前配置jdk和jre环境到系统环境中)。今天要说的不是这款软件,问题是由使用这个软件引起的,我在抽取数据后需要完成一个更新操作语句如下:

update case_person_saxx a set a.case_id=(select id from case_xzcf b where b.app_id = a.app_id) ;

update invole_case_unit_saxx a set a.case_id=(select id from case_xzcf b where b.app_id = a.app_id);

 

 上面的语句中case_person_saxx表和case_xzcf 表中数据量大概在16万条左右,说起来也不是特别大,但是这个语句执行起来特别的慢,我等了半个多小时都没执行完,后来建索引稍微快一点,在网上找到一种更快捷的更新语句(因为我数据库基础不好很多语句不熟悉,呵呵!大神来看到了别笑话我就行!)如下:

merge into case_person_saxx t
using (select max(id) as id, app_id from case_xzcf group by app_id) s
on (t.app_id = s.app_id)
when matched then
  update set t.case_id = s.id;


  merge into invole_case_unit_saxx t
using (select max(id) as id, app_id from case_xzcf group by app_id) s
on (t.app_id = s.app_id)
when matched then
  update set t.case_id = s.id;

 

测试了一下 7秒钟就完成了更新,瞬间让我觉得自己懂得太少,真心需要好好学习。

记下来以便自己以后查阅,如果有同样困扰的同学可以试试这个语句。

分享到:
评论

相关推荐

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以...

    MySQL菜鸟详细教程

    所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 • Mysql 支持大型的...

    mysql数据库my.cnf配置文件

    # 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少. # 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80% # 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸....

    公司备份设计方案.doc

    由于当时系统构建时,投资有限且业务运行数据量不 大,需要保护的数据不多。基本上采用备份到移动硬盘的方式来进行备份。而移 动硬盘由于采用USB接口,且经常拔插可能在这过程中造成数据丢失。另外,移动 硬盘磁盘...

    Oracle存储过程的编写经验与优化措施(分享)

    如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,就会遇到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过...

    服务器集群技术方案.doc

    服务器并行集群方式 集群有多台服务器构成,同时提供相同的应用,可以实现多台服务器之间的负载均衡 ,提供大访问量的应用需求,如Web访问及数据库等应用,服务器并行集群方式一般由应 用系统自身(如OracleRAC、...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。 Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理...

    基于J2EE框架的个人博客系统项目毕业设计论...

    你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。 Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理...

    超级有影响力霸气的Java面试题大全文档

    通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 11、EJB是基于哪些技术实现的?并说出...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用...

    java 面试题 总结

    通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 8、EJB是基于哪些技术实现的?并说出Session...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    二十三种设计模式【PDF版】

    很简单一个模式,就是在内存中保留原来数据的拷贝. 设计模式之 Interpreter(解释器) 主要用来对语言的分析,应用机会不多. 设计模式之 Visitor(访问者) 访问者在进行访问时,完成一系列实质性操作,而且还可以扩展. ...

Global site tag (gtag.js) - Google Analytics