oracle-11g-使用-dbms_parallel_execute-对大表进行并行update

oracle-11g-使用-dbms_parallel_execute-对大表进行并行update

ID:15160520

大小:52.50 KB

页数:20页

时间:2018-08-01

oracle-11g-使用-dbms_parallel_execute-对大表进行并行update_第1页
oracle-11g-使用-dbms_parallel_execute-对大表进行并行update_第2页
oracle-11g-使用-dbms_parallel_execute-对大表进行并行update_第3页
oracle-11g-使用-dbms_parallel_execute-对大表进行并行update_第4页
oracle-11g-使用-dbms_parallel_execute-对大表进行并行update_第5页
资源描述:

《oracle-11g-使用-dbms_parallel_execute-对大表进行并行update》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Oracle-11g-使用-dbms_parallel_execute-对大表进行并行updateOracle11g使用dbms_parallel_execute对大表进行并行updateOracle11g使用dbms_parallel_execute对大表进行并行update一.dbms_parallel_execute说明UpdatingLargeTablesinParallelTheDBMS_PARALLEL_EXECUTEpackageenablesyoutoincrementallyupdatethedatain

2、alargetableinparallel,intwohigh-levelsteps:(1)Groupsetsofrowsinthetableintosmallerchunks.(2)ApplythedesiredUPDATEstatementtothechunksinparallel,committingeachtimeyouhavefinishedprocessingachunk.--dbms_parallel_execute包使用并行的2个步骤,一是将大表分成多个小的chunks。二对这些小的chunks进行并行。T

3、histechniqueisrecommendedwheneveryouareupdatingalotofdata.Itsadvantagesare:(1)Youlockonlyonesetofrowsatatime,forarelativelyshorttime,insteadoflockingtheentiretable.(2)Youdonotloseworkthathasbeendoneifsomethingfailsbeforetheentireoperationfinishes.(3)Youreducerollb

4、ackspaceconsumption.(4)Youimproveperformance.SeeAlso:OracleDatabasePL/SQLPackagesandTypesReferenceformoreinformationabouttheDBMS_PARALLEL_EXECUTEpackagehttp://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/d_parallel_ex.htm#ARPLS233--这个链接上有这个包的详细使用说明。并行在一

5、定程度上能够提高SQL的性能,在我的blog里对parallelexecution这块有说明:OracleParallelExecution(并行执行)http://blog.csdn.net/tianlesoftware/article/details/5854583提到这篇文章,是关注一个问题:Oracle对Delete,update,merge的操作限制在,只有操作的对象是分区表示,Oracle才会启动并行操作。原因在于,对于分区表,Oracle会对每个分区启用一个并行服务进程同时进行数据处理,这对于非分区表来说是没

6、有意义的。如果我们要对一张大表进行update,而且该表又不是分区表,这时就可以使用我们的dbms_parallel­_execute包来进行并行操作。dbms_parallel_execute包是把大表分成了多个小的chunks,然后对chunks进行并行,这个就类似把非分区表变成了分区表。注意,该包是Oracle11g以后才有的。二.使用说明以下内容转自:http://www.oracle-base.com/articles/11g/dbms_parallel_execute_11gR2.php2.1操作需要c

7、reatejob的权限,所以先赋权SQL>conn/assysdba;Connected.SQL>grantcreatejobtoicd;Grantsucceeded.SQL>connicd/icd;Connected.2.2创建相关的测试表并插入数据SQL>CREATETABLEtest_tab(2idNUMBER,3descriptionVARCHAR2(50),4num_colNUMBER,5CONSTRAINTtest_tab_pkPRIMARYKEY(id)6);Tablecreated.

8、SQL>INSERT/*+APPEND*/INTOtest_tab2SELECTlevel,3'Descriptionfor'

9、

10、level,4CASE5WHENMOD(level,5)=0THEN106WHENMOD(level,3)=0THEN207ELSE308END9FROMdual10C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。