Oracle 大数据量操作优化.pdf

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

如何加速Oracle大批量数据处理一、提高DML操作的办法:简单说来:1、暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建.2、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.3、创建一临时的大的表空间用来应对这些更新动作.4、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.5、创建一临时的大的表空间用来应对这些更新动作.6、加大排序缓冲区altersessionsetsort_area_size=100000000;insertintotablebselect*fromtablea;commit;如果UPDATE的是索引字段,就会涉及到索引的重建,暂停索引不会提高多少的速度,反而有可能降低UPDATE速度,因为在更新是索引可以提高数据的查询速度,重建索引引起的速度降低影响不大。ORACLE优化修改参数最多也只能把性能提高15%,大部分都是SQL语句的优化!update总体来说比insert要慢:几点建议:1、如果更新的数据量接近整个表,就不应该使用index而应该采用全表扫描2、减少不必要的index,因为update表通常需要updateindex3、如果你的服务器有多个cpu,采用parellelhint,可以大幅度的提高效率另外,建表的参数非常重要,对于更新非常频繁的表,建议加大PCTFREE的值,以保证数据块中有足够的空间用于UPDATE,从而降低CHAINED_ROWS。二、各种批量DML操作:(1)、oracle批量拷贝:setarraysize20setcopycommit5000copyfromusername/password@oraclenameappendtable_name1usingselect*fromtable_name2;(2)、常规插入方式:insertintot1sel

最近下载