Beruflich Dokumente
Kultur Dokumente
Situación de error:
Error: PA_MORA_TARDIA_CORPO.P_ASIGNACION_AUTOMATICA –
insertando en TMP_BILL_FIRSTS_CORPO –
Teniendo en cuenta la consulta SELECT (Fuente para el INSERT), se observa que hace una UNION de
una tabla (TMP_ACCOUNTS_EXT_CORPO) y de una subconsulta (SELECT a DOCUMENTS) quedándose
únicamente con las filas que satisfacen la condición x.Doc_Acc_Id = Tac_Acc_Id.
1
Ing. Gisela Velazco Tuning de Consultas SQL
TA
TAMAÑO
BLE SEGMENT_NAME
_MB
OWNER
STL DOCUMENTS 71721
DOCUMENT_TYPES ,15625
TMP_ACCOUNTS_EXT_CO
1
RPO
En este punto del análisis, debemos entender la importancia de elegir correctamente a la tabla
DRIVING, la tabla que conduce a la consulta, y que por esta particularidad, debe ser pequeña.
Más aun, teniendo en cuenta la consulta de este ejemplo, donde se recorren casi 71Gb, para luego
quedarnos únicamente con los registros que coinciden en ACC_ID con la tabla TMP.
2
Ing. Gisela Velazco Tuning de Consultas SQL
Sugerencia de tuning
La sugerencia que se presentó, sin modificar demasiado la estructura de la consulta, fue la
siguiente:
Cantidad de registros: 44
Tiempo en segundos: 7
La consulta principal, no sufrió cambios, pero ahora debe procesar menos registros como resultado
de la subconsulta.
Y por la cantidad de registros del resultado, notarán el poco sentido de recorrer completamente la
tabla DOCUMENTS.
3
Ing. Gisela Velazco Tuning de Consultas SQL
PLAN DE EJECUCION
Plan hash value: 1480061565
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | PQ Distrib |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT REMOTE | | 44 | 1848 | 136K (21)| 00:18:15 | |
| 1 | PX COORDINATOR | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10003 | 44 | 1848 | 136K (21)| 00:18:15 | QC (RAND) |
|* 3 | VIEW | | 44 | 1848 | 136K (21)| 00:18:15 | |
|* 4 | WINDOW SORT PUSHED RANK | | 44 | 1760 | 136K (21)| 00:18:15 | |
| 5 | PX RECEIVE | | 44 | 1760 | 136K (21)| 00:18:15 | |
| 6 | PX SEND HASH | :TQ10002 | 44 | 1760 | 136K (21)| 00:18:15 | HASH |
|* 7 | WINDOW CHILD PUSHED RANK| | 44 | 1760 | 136K (21)| 00:18:15 | |
|* 8 | HASH JOIN | | 44 | 1760 | 136K (21)| 00:18:15 | |
| 9 | BUFFER SORT | | | | | | |
| 10 | PX RECEIVE | | 12 | 132 | 2 (0)| 00:00:01 | |
| 11 | PX SEND BROADCAST | :TQ10000 | 12 | 132 | 2 (0)| 00:00:01 | BROADCAST |
|* 12 | TABLE ACCESS FULL | TMP_ACCOUNTS_EXT_CORPO | 12 | 132 | 2 (0)| 00:00:01 | |
| 13 | VIEW | | 6840K| 189M| 136K (21)| 00:18:15 | |
|* 14 | HASH JOIN SEMI | | 6840K| 176M| 136K (21)| 00:18:15 | |
| 15 | PX BLOCK ITERATOR | | 430M| 8631M| 79808 (24)| 00:10:39 | |
| 16 | TABLE ACCESS FULL | DOCUMENTS | 430M| 8631M| 79808 (24)| 00:10:39 | |
| 17 | BUFFER SORT | | | | | | |
| 18 | PX RECEIVE | | 1 | 6 | 2 (0)| 00:00:01 | |
| 19 | PX SEND BROADCAST | :TQ10001 | 1 | 6 | 2 (0)| 00:00:01 | BROADCAST |
|* 20 | TABLE ACCESS FULL| DOCUMENT_TYPES | 1 | 6 | 2 (0)| 00:00:01 | |
----------------------------------------------------------------------------------------------------------------------
PLAN DE EJECUCION
Plan hash value: 1079702637
--------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Inst |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT REMOTE | | 12 | 504 | 399 (2)| 00:00:04 | |
|* 1 | VIEW | | 12 | 504 | 399 (2)| 00:00:04 | |
|* 2 | WINDOW SORT PUSHED RANK | | 12 | 480 | 399 (2)| 00:00:04 | |
|* 3 | HASH JOIN | | 12 | 480 | 398 (1)| 00:00:04 | |
|* 4 | TABLE ACCESS FULL | TMP_ACCOUNTS_EXT_CORPO | 12 | 132 | 2 (0)| 00:00:01 | PROD |
| 5 | VIEW | | 44 | 1276 | 395 (1)| 00:00:04 | |
|* 6 | HASH JOIN SEMI | | 44 | 1672 | 395 (1)| 00:00:04 | |
| 7 | TABLE ACCESS BY INDEX ROWID| DOCUMENTS | 229 | 4809 | 33 (4)| 00:00:01 | PROD |
| 8 | NESTED LOOPS | | 2802 | 89664 | 393 (1)| 00:00:04 | |
|* 9 | TABLE ACCESS FULL | TMP_ACCOUNTS_EXT_CORPO | 12 | 132 | 2 (0)| 00:00:01 | PROD |
|* 10 | INDEX RANGE SCAN | DOC_ACC_I1 | 229 | | 1 (0)| 00:00:01 | PROD |
|* 11 | TABLE ACCESS FULL | DOCUMENT_TYPES | 1 | 6 | 2 (0)| 00:00:01 | PROD |
--------------------------------------------------------------------------------------------------------------------