このクエリに問題があります。実行には10時間かかります。
WITH CONSUM AS (
SELECT C.ID_MEASURER,C.ID_MEASURING_POINT,C.CONSUM_TYPE
FROM GCGT_RE_CONSUM_H_E C
WHERE C.DAY BETWEEN 20130201 AND 20130228 AND ACTIVE = 1
),
CORE AS (SELECT
SS.NISS,
CO.ID_CONTRACT,
CO.FROM_DATE AS FECHA_INI_CONTRATO,
SS.ID_DISTRIBUTER,
SS.ID_SECTOR_SUPPLY,
MP.CUPS,
M.ID_COMBINATION_USAGE_TYPE,
MP.MP_FUNCTION,
NVL (MP.FLAG_TELEMETRY, 0) AS TELEMEDIDO,
NVL (CTYP.RELEVANCE, 0) AS RELEVANT_CONSUM_TYPE,
MP.ID_MEASURER,
CTYP.COD_USAGE_TYPE AS CONSUM_TYPE,
0 AS VALUE_1,
0 AS VALUE_2,
0 AS VALUE_3,
0 AS VALUE_4,
0 AS VALUE_5,
0 AS VALUE_6,
0 AS VALUE_7,
0 AS VALUE_8,
0 AS VALUE_9,
0 AS VALUE_10,
0 AS VALUE_11,
0 AS VALUE_12,
0 AS VALUE_13,
0 AS VALUE_14,
0 AS VALUE_15,
0 AS VALUE_16,
0 AS VALUE_17,
0 AS VALUE_18,
0 AS VALUE_19,
0 AS VALUE_20,
0 AS VALUE_21,
0 AS VALUE_22,
0 AS VALUE_23,
0 AS VALUE_24,
0 AS VALUE_25,
'' AS SOURCE_1,
'' AS SOURCE_2,
'' AS SOURCE_3,
'' AS SOURCE_4,
'' AS SOURCE_5,
'' AS SOURCE_6,
'' AS SOURCE_7,
'' AS SOURCE_8,
'' AS SOURCE_9,
'' AS SOURCE_10,
'' AS SOURCE_11,
'' AS SOURCE_12,
'' AS SOURCE_13,
'' AS SOURCE_14,
'' AS SOURCE_15,
'' AS SOURCE_16,
'' AS SOURCE_17,
'' AS SOURCE_18,
'' AS SOURCE_19,
'' AS SOURCE_20,
'' AS SOURCE_21,
'' AS SOURCE_22,
'' AS SOURCE_23,
'' AS SOURCE_24,
'' AS SOURCE_25,
0 AS QUALITY_1,
0 AS QUALITY_2,
0 AS QUALITY_3,
0 AS QUALITY_4,
0 AS QUALITY_5,
0 AS QUALITY_6,
0 AS QUALITY_7,
0 AS QUALITY_8,
0 AS QUALITY_9,
0 AS QUALITY_10,
0 AS QUALITY_11,
0 AS QUALITY_12,
0 AS QUALITY_13,
0 AS QUALITY_14,
0 AS QUALITY_15,
0 AS QUALITY_16,
0 AS QUALITY_17,
0 AS QUALITY_18,
0 AS QUALITY_19,
0 AS QUALITY_20,
0 AS QUALITY_21,
0 AS QUALITY_22,
0 AS QUALITY_23,
0 AS QUALITY_24,
0 AS QUALITY_25,
20130228 AS DAY,
TRUNC(20130228 ,-2) AS FIRST_DAY,
TRUNC(20130228 ,-2) + 31 AS LAST_DAY,
NVL (MTY.COD_USER, '') AS ORIGIN,
SC.ID_CONTRACTED_SERVICE,
0 AS BAJA,
NVL(SC.IND_GUARANTOR, 0) AS GESTION_ATR,
SC.NISC
FROM GCGT_RE_MEASUREMENT_POINT MP
INNER JOIN GCCOM_SECTOR_SUPPLY SS ON MP.ID_SECTOR_SUPPLY = SS.ID_SECTOR_SUPPLY
INNER JOIN GCGT_ME_MEASURER M ON M.ID_MEASURER = MP.ID_MEASURER
INNER JOIN GCCOM_CONTRACTED_SERVICE SC ON SC.ID_SECTOR_SUPPLY = SS.ID_SECTOR_SUPPLY
INNER JOIN GCCOM_CONTRACT CO ON CO.ID_CONTRACT = SC.ID_CONTRACT
INNER JOIN GCGT_RE_MP_NATURE NAT ON NAT.ID_MP_NATURE = MP.ID_MP_NATURE
INNER JOIN GCGT_ME_MEA_CTYPE_HIST CTYP ON MP.ID_MEASURER = CTYP.ID_MEASURER
INNER JOIN GCGT_RE_MODE_TYPE MTY ON MTY.COD_DEVELOP = NAT.COD_MODO
WHERE
1 = 1
AND 1 = 1
AND CTYP.FROM_DATE <= 20130228
AND (CTYP.TO_DATE IS NULL OR CTYP.TO_DATE >= 20130201 )
AND CTYP.COD_USAGE_TYPE NOT IN ('AEH', 'R1H', 'AEQ', 'R1Q')
AND MP.CUPS IS NOT NULL
AND SC.STATUS NOT IN ('ESTSC00004', 'ESTSC00005')
AND (SC.DROP_DATE is null or SC.DROP_DATE >= (TO_DATE(20130228 , 'YYYYMMDD')) )
/*and to_char(SC.FROM_DATE,'YYYYMM') <= SUBSTR (:P_INI_DATE, 1, 6) PMR */
AND SC.FROM_DATE <= LAST_DAY(TO_DATE(20130201 , 'YYYYMMDD'))
AND (CO.STATUS not in ('ESTCO00005','ESTCO00004') or (CO.END_DATE >= (TO_DATE (20130201 , 'YYYYMMDD')) and CO.STATUS = 'ESTCO00005' ) or (CO.DROP_DATE >= (TO_DATE (20130201 , 'YYYYMMDD')) and CO.STATUS = 'ESTCO00004'))
AND EXISTS
(SELECT UTM.ID_MEASURER
FROM GCGT_ME_USAGE_TYPE_METER UTM
WHERE UTM.ID_MEASURER = MP.ID_MEASURER
AND UTM.COD_USAGE_TYPE = CTYP.COD_USAGE_TYPE
)
AND NOT EXISTS(
SELECT 1
FROM CONSUM C
WHERE C.ID_MEASURER = MP.ID_MEASURER
AND C.ID_MEASURING_POINT = MP.ID_MEASURING_POINT
AND C.CONSUM_TYPE = CTYP.COD_USAGE_TYPE))
SELECT
CORE.NISS,
CORE.ID_CONTRACT,
'' AS MOT_BLOQ,
CORE.FECHA_INI_CONTRATO,
SUBSTR (CORE.DAY, 1, 6) AS PERIODO,
EATT.FOREIGN_CONTRACT_NUMBER AS ATR_POLICY,
COM.NAME_TYPE AS COD_DISTRIBUIDORA,
--NVL (ROC.IND_CALC_ORDER, 0) AS IND_CALC_ORDER,
(SELECT COUNT (1)
FROM gccom_delivery_note dn
WHERE dn.id_contracted_service = CORE.ID_CONTRACTED_SERVICE
AND dn.delivery_note_status in ('BIDOCST001', 'BIDOCST003' )
AND dn.ind_simulated = 0
AND TO_CHAR (dn.forecast_billing_date, 'YYYYMM') >= SUBSTR (CORE.DAY, 1, 6)
AND ROWNUM < 2)
AS IND_CALC_ORDER,
--NVL (ROC.IND_SENT_FACT, 0) AS IND_SENT_FACT,
(SELECT COUNT (1)
FROM gccom_delivery_note dn
WHERE dn.id_contracted_service = CORE.ID_CONTRACTED_SERVICE
AND dn.delivery_note_status = 'BIDOCST001'
AND dn.ind_simulated = 0
AND (dn.ind_not_billed = 0 or dn.ind_not_billed is null)
AND TO_CHAR (dn.forecast_billing_date, 'YYYYMM') >= SUBSTR (CORE.DAY, 1, 6)
AND ROWNUM < 2)
AS IND_SENT_FACT,
--NVL (ROC3.IND_SENT_FACT, 0) AS IND_SENT_FACT_ANT,
(SELECT COUNT (1)
FROM gccom_delivery_note dn
WHERE dn.id_contracted_service = CORE.ID_CONTRACTED_SERVICE
AND dn.delivery_note_status = 'BIDOCST001'
AND dn.ind_simulated = 0
AND (dn.ind_not_billed = 0 or dn.ind_not_billed is null)
AND TO_CHAR(dn.forecast_billing_date, 'YYYYMM') = (select TO_CHAR(max(dn.forecast_billing_date),'YYYYMM')
FROM gccom_delivery_note dn
where dn.id_contracted_service = CORE.ID_CONTRACTED_SERVICE
and TO_CHAR(dn.forecast_billing_date, 'YYYYMM') < SUBSTR (CORE.DAY, 1, 6))
AND ROWNUM <2 )AS IND_SENT_FACT_ANT,
CORE.CUPS,
FAR.SHORT_NAME_TYPE AS TARIFA,
CT.DESCRIPTION AS TIPO_CLIENTE,
CORE.TELEMEDIDO,
CORE.RELEVANT_CONSUM_TYPE,
(
SELECT COUNT (1)
FROM GCGT_RE_READING_E RE
WHERE RE.ID_MEASURER = CORE.ID_MEASURER
AND RE.DAY BETWEEN CORE.FIRST_DAY AND CORE.LAST_DAY
) AS CLOSED,
(
SELECT COUNT (1)
FROM GCGT_RE_MEASUREMENT_POINT RRMP
WHERE RRMP.ID_SECTOR_SUPPLY = CORE.ID_SECTOR_SUPPLY
) AS MULTIPLEPM,
NVL(
(
SELECT CGMV.NAME_TYPE
FROM GCCOM_LOST_HISTORY_SS GLH
INNER JOIN GCCOM_MASTER_VALUES CGMV ON GLH.COD_VALUE = CGMV.COD_VALUE
WHERE GLH.ID_SECTOR_SUPPLY = CORE.ID_SECTOR_SUPPLY
AND TO_DATE(CORE.DAY, 'YYYYMMDD') BETWEEN GLH.INIT_DATE AND GLH.END_DATE AND ROWNUM < 2
), '') AS ITC,
CORE.CONSUM_TYPE,
CORE.VALUE_1,
CORE.VALUE_2,
CORE.VALUE_3,
CORE.VALUE_4,
CORE.VALUE_5,
CORE.VALUE_6,
CORE.VALUE_7,
CORE.VALUE_8,
CORE.VALUE_9,
CORE.VALUE_10,
CORE.VALUE_11,
CORE.VALUE_12,
CORE.VALUE_13,
CORE.VALUE_14,
CORE.VALUE_15,
CORE.VALUE_16,
CORE.VALUE_17,
CORE.VALUE_18,
CORE.VALUE_19,
CORE.VALUE_20,
CORE.VALUE_21,
CORE.VALUE_22,
CORE.VALUE_23,
CORE.VALUE_24,
CORE.VALUE_25,
CORE.SOURCE_1,
CORE.SOURCE_2,
CORE.SOURCE_3,
CORE.SOURCE_4,
CORE.SOURCE_5,
CORE.SOURCE_6,
CORE.SOURCE_7,
CORE.SOURCE_8,
CORE.SOURCE_9,
CORE.SOURCE_10,
CORE.SOURCE_11,
CORE.SOURCE_12,
CORE.SOURCE_13,
CORE.SOURCE_14,
CORE.SOURCE_15,
CORE.SOURCE_16,
CORE.SOURCE_17,
CORE.SOURCE_18,
CORE.SOURCE_19,
CORE.SOURCE_20,
CORE.SOURCE_21,
CORE.SOURCE_22,
CORE.SOURCE_23,
CORE.SOURCE_24,
CORE.SOURCE_25,
CORE.QUALITY_1,
CORE.QUALITY_2,
CORE.QUALITY_3,
CORE.QUALITY_4,
CORE.QUALITY_5,
CORE.QUALITY_6,
CORE.QUALITY_7,
CORE.QUALITY_8,
CORE.QUALITY_9,
CORE.QUALITY_10,
CORE.QUALITY_11,
CORE.QUALITY_12,
CORE.QUALITY_13,
CORE.QUALITY_14,
CORE.QUALITY_15,
CORE.QUALITY_16,
CORE.QUALITY_17,
CORE.QUALITY_18,
CORE.QUALITY_19,
CORE.QUALITY_20,
CORE.QUALITY_21,
CORE.QUALITY_22,
CORE.QUALITY_23,
CORE.QUALITY_24,
CORE.QUALITY_25,
CORE.DAY,
ORI.DESCRIPTION AS ORIGIN,
CORE.ID_CONTRACTED_SERVICE,
CORE.BAJA,
CORE.GESTION_ATR,
NVL ((SELECT IND_COGENERATION
FROM GCCOM_CONTSERV_SPECIALTYPES SP
WHERE CORE.ID_CONTRACTED_SERVICE = SP.ID_CONTRACTED_SERVICE
AND (SP.END_DATE IS NULL OR SP.END_DATE >= TO_DATE (20130228 , 'YYYYMMDD'))
AND SP.INI_DATE <= TO_DATE (20130228 , 'YYYYMMDD')), 0) AS COGENERADOR,
CORE.NISC
FROM CORE,
GCGT_ELECTRIC_ATTRIBUTES EATT,
GCCOM_COMPANY COM,
GCGT_ME_RATE_METER RM,
GCGT_ME_COMBINATION_USAGE_TYPE CUT,
GCCOM_FARE FAR,
GCGT_RE_MP_CUSTOMER_TYPE CT,
GCGT_RE_ORIGIN ORI
WHERE EATT.ID_SECTOR_SUPPLY = CORE.ID_SECTOR_SUPPLY
AND COM.ID_COMPANY = CORE.ID_DISTRIBUTER
AND CUT.ID_COMBINATION_USAGE_TYPE (+) = CORE.ID_COMBINATION_USAGE_TYPE
AND CUT.ID_RATE_METER = RM.ID_RATE_METER (+)
AND FAR.ID_FARE (+) = RM.ID_FARE
AND (CT.COD_DEVELOP = CORE.MP_FUNCTION or CORE.MP_FUNCTION is null)
AND ORI.COD_DEVELOP = CORE.ORIGIN;
説明計画は次のように表示されます。
PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 398847285
-------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | Pstart| Pstop |
-------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 186K| 63M| | 1352K (1)| 04:30:26 | | |
| 1 | SORT AGGREGATE | | 1 | 28 | | | | | |
|* 2 | COUNT STOPKEY | | | | | | | | |
| 3 | PARTITION RANGE ALL | | 2 | 56 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 4 | TABLE ACCESS BY LOCAL INDEX ROWID | GCCOM_DELIVERY_NOTE | 2 | 56 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 5 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_28 | 33 | | | 65 (0)| 00:00:01 | 1 | 108 |
| 6 | SORT AGGREGATE | | 1 | 30 | | | | | |
|* 7 | COUNT STOPKEY | | | | | | | | |
| 8 | PARTITION RANGE ALL | | 2 | 60 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 9 | TABLE ACCESS BY LOCAL INDEX ROWID | GCCOM_DELIVERY_NOTE | 2 | 60 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 10 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_28 | 33 | | | 65 (0)| 00:00:01 | 1 | 108 |
| 11 | SORT AGGREGATE | | 1 | 30 | | | | | |
|* 12 | COUNT STOPKEY | | | | | | | | |
|* 13 | FILTER | | | | | | | | |
| 14 | PARTITION RANGE ALL | | 32 | 960 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 15 | TABLE ACCESS BY LOCAL INDEX ROWID | GCCOM_DELIVERY_NOTE | 32 | 960 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 16 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_28 | 33 | | | 65 (0)| 00:00:01 | 1 | 108 |
| 17 | SORT AGGREGATE | | 1 | 14 | | | | | |
| 18 | PARTITION RANGE ALL | | 2 | 28 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 19 | TABLE ACCESS BY LOCAL INDEX ROWID| GCCOM_DELIVERY_NOTE | 2 | 28 | | 75 (0)| 00:00:01 | 1 | 108 |
|* 20 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_28 | 33 | | | 65 (0)| 00:00:01 | 1 | 108 |
| 21 | SORT AGGREGATE | | 1 | 12 | | | | | |
|* 22 | INDEX RANGE SCAN | IDX_GCGT_RE_READING_E_16 | 1 | 12 | | 1 (0)| 00:00:01 | | |
| 23 | SORT AGGREGATE | | 1 | 6 | | | | | |
|* 24 | INDEX RANGE SCAN | IDX_GCGT_REMEASPOINT_SSMP_01 | 1 | 6 | | 1 (0)| 00:00:01 | | |
|* 25 | COUNT STOPKEY | | | | | | | | |
| 26 | NESTED LOOPS | | | | | | | | |
| 27 | NESTED LOOPS | | 1 | 61 | | 2 (0)| 00:00:01 | | |
|* 28 | TABLE ACCESS BY INDEX ROWID | GCCOM_LOST_HISTORY_SS | 1 | 30 | | 1 (0)| 00:00:01 | | |
|* 29 | INDEX RANGE SCAN | IDX_GCCOMLOSTHISTORYSS_01 | 1 | | | 1 (0)| 00:00:01 | | |
|* 30 | INDEX UNIQUE SCAN | PK_GCCOM_MASTER_VALUES | 1 | | | 1 (0)| 00:00:01 | | |
| 31 | TABLE ACCESS BY INDEX ROWID | GCCOM_MASTER_VALUES | 1 | 31 | | 1 (0)| 00:00:01 | | |
|* 32 | TABLE ACCESS BY INDEX ROWID | GCCOM_CONTSERV_SPECIALTYPES | 1 | 24 | | 1 (0)| 00:00:01 | | |
|* 33 | INDEX RANGE SCAN | IDX_GCCOMCONTSERVSPETYP_01 | 1 | | | 1 (0)| 00:00:01 | | |
|* 34 | FILTER | | | | | | | | |
|* 35 | HASH JOIN | | 186K| 63M| | 146K (1)| 00:29:16 | | |
| 36 | TABLE ACCESS FULL | GCCOM_COMPANY | 1116 | 34596 | | 9 (0)| 00:00:01 | | |
|* 37 | HASH JOIN | | 194K| 60M| 22M| 146K (1)| 00:29:16 | | |
| 38 | PART JOIN FILTER CREATE | :BF0000 | 722K| 13M| | 5316 (1)| 00:01:04 | | |
| 39 | PARTITION REFERENCE ALL | | 722K| 13M| | 5316 (1)| 00:01:04 | 1 | 10 |
| 40 | TABLE ACCESS FULL | GCGT_ELECTRIC_ATTRIBUTES | 722K| 13M| | 5316 (1)| 00:01:04 | 1 | 10 |
|* 41 | HASH JOIN | | 207K| 61M| | 136K (1)| 00:27:21 | | |
| 42 | TABLE ACCESS FULL | GCGT_RE_ORIGIN | 3 | 42 | | 3 (0)| 00:00:01 | | |
|* 43 | HASH JOIN | | 207K| 58M| 22M| 136K (1)| 00:27:21 | | |
| 44 | PARTITION REFERENCE ALL | | 486K| 17M| | 4618 (1)| 00:00:56 | 1 | 10 |
|* 45 | TABLE ACCESS FULL | GCCOM_CONTRACT | 486K| 17M| | 4618 (1)| 00:00:56 | 1 | 10 |
|* 46 | HASH JOIN | | 207K| 50M| 19M| 128K (1)| 00:25:41 | | |
| 47 | PART JOIN FILTER CREATE | :BF0001 | 286K| 16M| | 7118 (1)| 00:01:26 | | |
| 48 | PARTITION HASH ALL | | 286K| 16M| | 7118 (1)| 00:01:26 | 1 | 16 |
|* 49 | TABLE ACCESS FULL | GCCOM_CONTRACTED_SERVICE | 286K| 16M| | 7118 (1)| 00:01:26 | 1 | 16 |
|* 50 | HASH JOIN RIGHT OUTER | | 559K| 104M| | 114K (1)| 00:22:57 | | |
| 51 | TABLE ACCESS FULL | GCCOM_FARE | 374 | 3366 | | 6 (0)| 00:00:01 | | |
|* 52 | HASH JOIN RIGHT OUTER | | 559K| 99M| | 114K (1)| 00:22:57 | | |
| 53 | TABLE ACCESS FULL | GCGT_ME_RATE_METER | 59 | 590 | | 3 (0)| 00:00:01 | | |
| 54 | NESTED LOOPS SEMI | | 559K| 94M| | 114K (1)| 00:22:57 | | |
|* 55 | HASH JOIN | | 559K| 89M| 74M| 114K (1)| 00:22:57 | | |
|* 56 | TABLE ACCESS FULL | GCGT_ME_MEA_CTYPE_HIST | 2115K| 50M| | 50950 (1)| 00:10:12 | | |
|* 57 | HASH JOIN RIGHT OUTER | | 521K| 70M| | 56226 (1)| 00:11:15 | | |
| 58 | TABLE ACCESS FULL | GCGT_ME_COMBINATION_USAGE_TYPE | 378 | 3024 | | 4 (0)| 00:00:01 | | |
|* 59 | HASH JOIN | | 521K| 66M| 67M| 56219 (1)| 00:11:15 | | |
|* 60 | HASH JOIN | | 521K| 61M| 25M| 18543 (1)| 00:03:43 | | |
| 61 | PARTITION HASH AND | | 771K| 16M| | 8246 (1)| 00:01:39 |KEY(AP)|KEY(AP)|
| 62 | TABLE ACCESS FULL | GCCOM_SECTOR_SUPPLY | 771K| 16M| | 8246 (1)| 00:01:39 |KEY(AP)|KEY(AP)|
|* 63 | HASH JOIN | | 521K| 50M| | 6235 (1)| 00:01:15 | | |
|* 64 | HASH JOIN | | 260 | 11440 | | 15 (7)| 00:00:01 | | |
| 65 | MERGE JOIN CARTESIAN | | 15 | 435 | | 12 (0)| 00:00:01 | | |
| 66 | TABLE ACCESS FULL | GCGT_RE_MP_CUSTOMER_TYPE | 5 | 70 | | 3 (0)| 00:00:01 | | |
| 67 | BUFFER SORT | | 3 | 45 | | 9 (0)| 00:00:01 | | |
| 68 | TABLE ACCESS FULL | GCGT_RE_MODE_TYPE | 3 | 45 | | 2 (0)| 00:00:01 | | |
| 69 | VIEW | index$_join$_011 | 52 | 780 | | 3 (34)| 00:00:01 | | |
|* 70 | HASH JOIN | | | | | | | | |
| 71 | INDEX FAST FULL SCAN | FK_RE_MP_NATUR_RE_MODE_TYPE_01 | 52 | 780 | | 1 (0)| 00:00:01 | | |
| 72 | INDEX FAST FULL SCAN | PK_GCGT_RE_MP_NATURE | 52 | 780 | | 1 (0)| 00:00:01 | | |
|* 73 | TABLE ACCESS FULL | GCGT_RE_MEASUREMENT_POINT | 454K| 25M| | 6210 (1)| 00:01:15 | | |
| 74 | TABLE ACCESS FULL | GCGT_ME_MEASURER | 7195K| 68M| | 26770 (1)| 00:05:22 | | |
|* 75 | INDEX UNIQUE SCAN | IDX_GCGTMEUSAGETYPEMETER_08 | 10M| 96M| | 1 (0)| 00:00:01 | | |
|* 76 | TABLE ACCESS BY GLOBAL INDEX ROWID | GCGT_RE_CONSUM_H_E | 1 | 25 | | 7 (0)| 00:00:01 | 87 | 87 |
|* 77 | INDEX RANGE SCAN | IDX_GCGTRECONSUMHE02 | 1 | | | 1 (0)| 00:00:01 | | |
-------------------------------------------------------------------------------------------------------------------------------------------------
147 filas seleccionadas.
私はインデックスで試しました:
インデックス IDX_GCCOM_DELIVERY_NOTE_30 on GCCOM_DELIVERY_NOTE("ID_CONTRACTED_SERVICE",TO_CHAR("FORECAST_BILLING_DATE",'YYYYMM'))
index IDX_GCCOM_DELIVERY_NOTE_31 on GCCOM_DELIVERY_NOTE("ID_CONTRACTED_SERVICE","DELIVERY_NOTE_STATUS","IND_SIMULATED",TO_CHAR("FORECAST_BILLING_DATE",'YYYYMM'));
index IDX_GCCOMLOSTHISTORYSS_02 on GCCOM_LOST_HISTORY_SS("ID_SECTOR_SUPPLY","END_DATE","COD_VALUE");
しかし、説明計画は大きな改善を示していません:
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2244861761
--------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | Pstart| Pstop |
--------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 186K| 63M| | 1352K (1)| 04:30:26 | | |
| 1 | SORT AGGREGATE | | 1 | 25 | | | | | |
|* 2 | COUNT STOPKEY | | | | | | | | |
| 3 | INLIST ITERATOR | | | | | | | | |
|* 4 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_31 | 2 | 50 | | 1 (0)| 00:00:01 | | |
| 5 | SORT AGGREGATE | | 1 | 27 | | | | | |
|* 6 | COUNT STOPKEY | | | | | | | | |
|* 7 | TABLE ACCESS BY GLOBAL INDEX ROWID | GCCOM_DELIVERY_NOTE | 2 | 54 | | 1 (0)| 00:00:01 | ROWID | ROWID |
|* 8 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_30 | 1 | | | 1 (0)| 00:00:01 | | |
| 9 | SORT AGGREGATE | | 1 | 27 | | | | | |
|* 10 | COUNT STOPKEY | | | | | | | | |
|* 11 | TABLE ACCESS BY GLOBAL INDEX ROWID | GCCOM_DELIVERY_NOTE | 1 | 27 | | 1 (0)| 00:00:01 | ROWID | ROWID |
|* 12 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_30 | 1 | | | 1 (0)| 00:00:01 | | |
| 13 | SORT AGGREGATE | | 1 | 19 | | | | | |
| 14 | TABLE ACCESS BY GLOBAL INDEX ROWID| GCCOM_DELIVERY_NOTE | 2 | 38 | | 1 (0)| 00:00:01 | ROWID | ROWID |
|* 15 | INDEX RANGE SCAN | IDX_GCCOM_DELIVERY_NOTE_30 | 1 | | | 1 (0)| 00:00:01 | | |
| 16 | SORT AGGREGATE | | 1 | 12 | | | | | |
|* 17 | INDEX RANGE SCAN | IDX_GCGT_RE_READING_E_16 | 1 | 12 | | 1 (0)| 00:00:01 | | |
| 18 | SORT AGGREGATE | | 1 | 6 | | | | | |
|* 19 | INDEX RANGE SCAN | IDX_GCGT_REMEASPOINT_SSMP_01 | 1 | 6 | | 1 (0)| 00:00:01 | | |
|* 20 | COUNT STOPKEY | | | | | | | | |
| 21 | NESTED LOOPS | | | | | | | | |
| 22 | NESTED LOOPS | | 1 | 61 | | 2 (0)| 00:00:01 | | |
|* 23 | TABLE ACCESS BY INDEX ROWID | GCCOM_LOST_HISTORY_SS | 1 | 30 | | 1 (0)| 00:00:01 | | |
|* 24 | INDEX RANGE SCAN | IDX_GCCOMLOSTHISTORYSS_02 | 1 | | | 1 (0)| 00:00:01 | | |
|* 25 | INDEX UNIQUE SCAN | PK_GCCOM_MASTER_VALUES | 1 | | | 1 (0)| 00:00:01 | | |
| 26 | TABLE ACCESS BY INDEX ROWID | GCCOM_MASTER_VALUES | 1 | 31 | | 1 (0)| 00:00:01 | | |
|* 27 | TABLE ACCESS BY INDEX ROWID | GCCOM_CONTSERV_SPECIALTYPES | 1 | 24 | | 1 (0)| 00:00:01 | | |
|* 28 | INDEX RANGE SCAN | IDX_GCCOMCONTSERVSPETYP_01 | 1 | | | 1 (0)| 00:00:01 | | |
|* 29 | FILTER |
インデックスを適用する前後の説明計画を比較しています。
アクセス パスにいくつかの変更が見られますが、全体的な結果は同じです。
それで、クエリは改善されましたか?
これらは TABLE ACCESS FULL です。インデックスを作成する必要がありますか?
Line 43: | 36 | TABLE ACCESS FULL | GCCOM_COMPANY | 1116 | 34596 | | 9 (0)| 00:00:01 | | |
Line 47: | 40 | TABLE ACCESS FULL | GCGT_ELECTRIC_ATTRIBUTES | 722K| 13M| | 5316 (1)| 00:01:04 | 1 | 10 |
Line 49: | 42 | TABLE ACCESS FULL | GCGT_RE_ORIGIN | 3 | 42 | | 3 (0)| 00:00:01 | | |
Line 52: |* 45 | TABLE ACCESS FULL | GCCOM_CONTRACT | 486K| 17M| | 4618 (1)| 00:00:56 | 1 | 10 |
Line 56: |* 49 | TABLE ACCESS FULL | GCCOM_CONTRACTED_SERVICE | 286K| 16M| | 7118 (1)| 00:01:26 | 1 | 16 |
Line 58: | 51 | TABLE ACCESS FULL | GCCOM_FARE | 374 | 3366 | | 6 (0)| 00:00:01 | | |
Line 60: | 53 | TABLE ACCESS FULL | GCGT_ME_RATE_METER | 59 | 590 | | 3 (0)| 00:00:01 | | |
Line 63: |* 56 | TABLE ACCESS FULL | GCGT_ME_MEA_CTYPE_HIST | 2115K| 50M| | 50950 (1)| 00:10:12 | | |
Line 65: | 58 | TABLE ACCESS FULL | GCGT_ME_COMBINATION_USAGE_TYPE | 378 | 3024 | | 4 (0)| 00:00:01 | | |
Line 69: | 62 | TABLE ACCESS FULL | GCCOM_SECTOR_SUPPLY | 771K| 16M| | 8246 (1)| 00:01:39 |KEY(AP)|KEY(AP)|
Line 73: | 66 | TABLE ACCESS FULL | GCGT_RE_MP_CUSTOMER_TYPE | 5 | 70 | | 3 (0)| 00:00:01 | | |
Line 75: | 68 | TABLE ACCESS FULL | GCGT_RE_MODE_TYPE | 3 | 45 | | 2 (0)| 00:00:01 | | |
Line 80: |* 73 | TABLE ACCESS FULL | GCGT_RE_MEASUREMENT_POINT | 454K| 25M| | 6210 (1)| 00:01:15 | | |
Line 81: | 74 | TABLE ACCESS FULL | GCGT_ME_MEASURER | 7195K| 68M| | 26770 (1)| 00:05:22 | | |
GATHER_TABLE_STATS のヒントを使用してクエリを実行することを考慮していませんでした。
結果を返します!!