|
By a number of documents have all seen the implementation of paralleldml when the first altersessionenableparalleldml; But in my tests, do not enable and disable both operate in parallel, only two non-implementation of the scheme will be the same: Table: test_d a partition object_id have localindexoracle version 10.2.0.11, disableparaleldml; UPDATE / * parallel (d, 2) * / test_ddSETd.object_name = 11111WHEREd.object_id = 57826; Missesinlibrarycacheduringparse: 1Optimizermode: ALL_ROWSParsinguserid: 61RowsRowSourceOperation ------ 0UPDATETEST_D (cr = 66pr = 0pw = 0time = 6012152us) 122880PXCOORDINATOR (cr = 6pr = 0pw = 0time = 1311879us) 0PXSENDQC (RANDOM): TQ10000 (cr = 0pr = 0pw = 0time = 0us) 0PXBLOCKITERATORPARTITION: 67 (cr = 0pr = 0pw = 0time = 0us) 0TABLEACCESSFULLTEST_DPARTITION: 67 (cr = 0pr = 0pw = 0time = 0us) 2, enableparaleldml; UPDATE / * parallel (d, 2) * / test_ddSETd.object_name = 11111WHEREd.object_id = 57826; Missesinlibrarycacheduringparse: 1Optimizermode: ALL_ROWSParsinguserid: 61RowsRowSourceOperation ------ 2PXCOORDINATOR (cr = 12pr = 0pw = 0time = 2243674us) 0PXSENDQC (RANDOM): TQ10001 (cr = 0pr = 0pw = 0time = 0us) 0INDEXMAINTENANCETEST_D (cr = 0pr = 0pw = 0time = 0us) (objectid0) 0PXRECEIVE (cr = 0pr = 0pw = 0time = 0us) 0PXSENDRANGE: TQ10000 (cr = 0pr = 0pw = 0time = 0us) 0UPDATETEST_D (cr = 0pr = 0pw = 0time = 0us) 0PXBLOCKITERATORPARTITION: 67 (cr = 0pr = 0pw = 0time = 0us) 0TABLEACCESSFULLTEST_DPARTITION: 67 (cr = 0pr = 0pw = 0time = 0us) The above differences in the implementation of plans! Question: Can you tell us why the next implementation of the plan so different, as well as the effect of enableparallel I also observed that, enableparallel, will produce four slaveprocess, Why? With me in vain: disable the situation: only when it is used in the tableaccessfull parallel operation enable the situation: In the update the whole process, there will be slaveprocess, that is, supposedly, the two slaveprocess to tableaccessfull, and then the other two slaveprocess and through slaveprocess return value update, and then finally back to the qc to be a test should be able to understand insert.select experiment(Editor:admin) |