ORACLE 处理大量数据应该注意什么?
实在受不了这样的速度了,今个得说说了,现在有几张级联关系的表,数据很大,有几百万条吧,简单的查询还可以,当用到分页查询的时候,速度慢的要死,大概半分钟,主要是由于,我的查询是在视图中查询的,而且这张视图是复杂的查询,分页的查询的sql语句还要嵌套3次,所以,速度一降再降。另外,在对一张单表(200万条)进行批量更新(更新1万条),速度更是慢,大概用了20分钟,人都等死了,看了几篇小说,一看出错了,还要重新更新,晕……
哈哈,悲剧就这样发生了,想必,这种事情没在你身上发生吧,遇到这样的问题就像踩了狗屎一样幸运,接下来,在网上查了很多如何提高oracle查询和更新效率的方法,一方面,自己分享一下自己的经验,另外,希望您给你宝贵意见或建议,OK!
查询:首先我的查询是从视图中查询的,视图的结构也比较复杂,所以,此视图废弃,选择物化视图,当然,以前没用过,结果太不可思议了,速度提高了很多,本来20s,现在只用0.几秒搞定,呵呵,如获至宝……
更新:百万级的单表数据进行更新(更新1万条),真的委屈CPU了,20分钟才完成此项任务,真想开了它,怎么办呢,想办法。我的批量更新是在事务中做的,带条件的更新某字段的值(Excel读取的),想到每条数据更新时首先要找到这条数据,所有,如果查询时间短了,效率肯定会提高,怎样提高单表查询呢,幸运的我终于想到了索引,加上索引后,继续导入,哈哈,这下了开了花,20分钟缩短到了2分钟,帅气……
当然,oracle定会更快、更强,只是本人水平有限而已,不然,几十万的ORACLE真要打水漂了……
希望各位留在你们的足迹,thanks
哈哈,悲剧就这样发生了,想必,这种事情没在你身上发生吧,遇到这样的问题就像踩了狗屎一样幸运,接下来,在网上查了很多如何提高oracle查询和更新效率的方法,一方面,自己分享一下自己的经验,另外,希望您给你宝贵意见或建议,OK!
查询:首先我的查询是从视图中查询的,视图的结构也比较复杂,所以,此视图废弃,选择物化视图,当然,以前没用过,结果太不可思议了,速度提高了很多,本来20s,现在只用0.几秒搞定,呵呵,如获至宝……
更新:百万级的单表数据进行更新(更新1万条),真的委屈CPU了,20分钟才完成此项任务,真想开了它,怎么办呢,想办法。我的批量更新是在事务中做的,带条件的更新某字段的值(Excel读取的),想到每条数据更新时首先要找到这条数据,所有,如果查询时间短了,效率肯定会提高,怎样提高单表查询呢,幸运的我终于想到了索引,加上索引后,继续导入,哈哈,这下了开了花,20分钟缩短到了2分钟,帅气……
当然,oracle定会更快、更强,只是本人水平有限而已,不然,几十万的ORACLE真要打水漂了……
希望各位留在你们的足迹,thanks
...全文
相关推荐
JDBC+Hibernate将Blob数据写入Oracle
JDBC+Hibernate将Blob数据写入Oracle
oracle实现分页
oracle实现分页,代码完整,直接可以用
java存储oracle中的clob类型
java操作oracle clob,基础教程,教你clob在java中的用法,简单易学。
用PHP操纵Oracle的LOB类型的数据
用过Oracle的人都知道,Oracle有一种数据类型叫VARCHAR2,用来表示不定长的字符串。VARCHAR2也是Oracle公司推荐使用的类型。但使用VARCHAR2有个问题:最大只能表示4000个字符,也就相当于2000个汉字。如果你的程序中某个字符的值要大于20002个汉字,用 VARCHAR2就不能满足要求了。这时候,你有两个选择,一是用多个VARCHAR2来表示,二是用LOB字段。这里我们来看看第二个办法。
也谈oracle 数据库的绑定变量特性及应用
也谈oracle 数据库的绑定变量特性及应用,很好的资料!


