|
本帖最后由 〇〇 于 2013-9-9 15:33 编辑
阿吉2009 发表于 2013-9-9 14:58 ![]()
你用DBMS_XPLAN.DISPLAY_CURSOR(sql_id, child_number, 'ALLSTATS LAST')要实际的执行计划出来。注意要 ...
PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------------------------------------------------------------
SQL_ID ccf2nsqk610f5, child number 0
-------------------------------------
select b.elec_meter_id elec_meter_id, max(b.total_used) -
min(b.total_used) x from BIGDATA b, (select distinct
e.meter_id from ELEC_METER_INFO e, (select
u.org_id from ORG_INFO u where
u.super_org_id = '52ac306a38755fcf01388e69195c007e') org where
e.is_delete = 'N' and e.is_disable = 'N' and
e.is_init > 0 and e.org_stat_area = 0 and
e.org_id = org.org_id) meter where b.treate_date >= '2013-01-01
00:00:00' and b.treate_date <= '2014-01-01 00:00:00' and
b.elec_meter_id = meter.meter_id group by b.elec_meter_id
Plan hash value: 321739330
--------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows| A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
--------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 37 |00:00:00.11 | 33746 | | | |
| 1 | HASH GROUP BY | | 1 | 1| 37 |00:00:00.11 | 33746 | 784K| 784K| 1345K (0)|
| 2 | NESTED LOOPS | | 1 | | 34216 |00:00:00.11 | 33746 | | | |
| 3 | NESTED LOOPS | | 1 | 1| 34216 |00:00:00.02 | 778 | | | |
|* 4 | HASH JOIN | | 1 | 1| 48 |00:00:00.02 | 329 | 874K| 874K| 1348K (0)|
|* 5 | TABLE ACCESS FULL | ELEC_METER_INFO | 1 | 34| 2782 |00:00:00.01 | 253 | | | |
|* 6 | TABLE ACCESS FULL | ORG_INFO | 1 | 55| 49 |00:00:00.01 | 76 | | | |
|* 7 | INDEX RANGE SCAN | UIDX_BS_TRE_ELEC_DATE | 48 | 1| 34216 |00:00:00.01 | 449 | | | |
| 8 | TABLE ACCESS BY INDEX ROWID| BIGDATA | 34216 | 1| 34216 |00:00:00.07 | 32968 | | | |
--------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("E"."ORG_ID"="U"."ORG_ID")
5 - filter(("E"."ORG_ID" IS NOT NULL AND "E"."ORG_STAT_AREA"=0 AND TO_NUMBER("E"."IS_INIT")>0 AND "E"."IS_DISABLE"='N' AND "E"."IS_DELETE"='N'))
6 - filter("U"."SUPER_ORG_ID"='52ac306a38755fcf01388e69195c007e')
7 - access("B"."ELEC_METER_ID"="E"."METER_ID" AND "B"."TREATE_DATE">='2013-01-01 00:00:00' AND "B"."TREATE_DATE"<='2014-01-01 00:00:00')
filter("B"."ELEC_METER_ID" IS NOT NULL)
SQL_ID ccf2nsqk610f5, child number 1
-------------------------------------
select b.elec_meter_id elec_meter_id, max(b.total_used) -
min(b.total_used) x from BIGDATA b, (select distinct
e.meter_id from ELEC_METER_INFO e, (select
u.org_id from ORG_INFO u where
u.super_org_id = '52ac306a38755fcf01388e69195c007e') org where
e.is_delete = 'N' and e.is_disable = 'N' and
e.is_init > 0 and e.org_stat_area = 0 and
e.org_id = org.org_id) meter where b.treate_date >= '2013-01-01
00:00:00' and b.treate_date <= '2014-01-01 00:00:00' and
b.elec_meter_id = meter.meter_id group by b.elec_meter_id
Plan hash value: 2157596226
------------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads | OMem | 1Mem | Used-Mem |
------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 37 |00:00:05.75 | 378K| 45619 | | | |
| 1 | HASH GROUP BY | | 1 | 542 | 37 |00:00:05.75 | 378K| 45619 | 784K| 784K| 1345K (0)|
|* 2 | HASH JOIN | | 1 | 542 | 34216 |00:00:05.46 | 378K| 45619 | 915K| 915K| 1244K (0)|
|* 3 | HASH JOIN | | 1 | 56 | 48 |00:00:00.02 | 329 | 0 | 915K| 915K| 1260K (0)|
|* 4 | TABLE ACCESS FULL | ORG_INFO | 1 | 55 | 49 |00:00:00.01 | 76 | 0 | | | |
|* 5 | TABLE ACCESS FULL | ELEC_METER_INFO | 1 | 2782 | 2782 |00:00:00.01 | 253 | 0 | | | |
|* 6 | TABLE ACCESS BY INDEX ROWID| BIGDATA | 1 | 34216 | 2957K|00:00:04.10 | 378K| 45619 | | | |
|* 7 | INDEX SKIP SCAN | UIDX_BS_TRE_WATER_DATE | 1 | 1 | 3163K|00:00:02.22 | 15323 | 15177 | | | |
------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("B"."ELEC_METER_ID"="E"."METER_ID")
3 - access("E"."ORG_ID"="U"."ORG_ID")
4 - filter("U"."SUPER_ORG_ID"='52ac306a38755fcf01388e69195c007e')
5 - filter(("E"."ORG_ID" IS NOT NULL AND "E"."ORG_STAT_AREA"=0 AND TO_NUMBER("E"."IS_INIT")>0 AND "E"."IS_DISABLE"='N' AND "E"."IS_DELETE"='N'))
6 - filter("B"."ELEC_METER_ID" IS NOT NULL)
7 - access("B"."TREATE_DATE">='2013-01-01 00:00:00' AND "B"."TREATE_DATE"<='2014-01-01 00:00:00')
filter(("B"."TREATE_DATE">='2013-01-01 00:00:00' AND "B"."TREATE_DATE"<='2014-01-01 00:00:00'))
Note
----- - cardinality feedback used for this statement
SQL_ID ccf2nsqk610f5, child number 2
-------------------------------------
select b.elec_meter_id elec_meter_id, max(b.total_used) -
min(b.total_used) x from BIGDATA b, (select distinct
e.meter_id from ELEC_METER_INFO e, (select
u.org_id from ORG_INFO u where
u.super_org_id = '52ac306a38755fcf01388e69195c007e') org where
e.is_delete = 'N' and e.is_disable = 'N' and
e.is_init > 0 and e.org_stat_area = 0 and
e.org_id = org.org_id) meter where b.treate_date >= '2013-01-01
00:00:00' and b.treate_date <= '2014-01-01 00:00:00' and
b.elec_meter_id = meter.meter_id group by b.elec_meter_id
Plan hash value: 2157596226
----------------------------------------------------------------------------------------------------
| Id | Operation | Name | E-Rows | OMem| 1Mem | Used-Mem |
----------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | | |
| 1 | HASH GROUP BY | | 542 | 784K| 784K| 1350K (0)|
|* 2 | HASH JOIN | | 542 | 915K| 915K| 1266K (0)|
|* 3 | HASH JOIN | | 56 | 915K| 915K| 1266K (0)|
|* 4 | TABLE ACCESS FULL | ORG_INFO | 55 | | | |
|* 5 | TABLE ACCESS FULL | ELEC_METER_INFO | 2782 | | | |
|* 6 | TABLE ACCESS BY INDEX ROWID| BIGDATA | 34216 | | | |
|* 7 | INDEX SKIP SCAN | UIDX_BS_TRE_WATER_DATE | 1 | | | |
----------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("B"."ELEC_METER_ID"="E"."METER_ID")
3 - access("E"."ORG_ID"="U"."ORG_ID")
4 - filter("U"."SUPER_ORG_ID"='52ac306a38755fcf01388e69195c007e')
5 - filter(("E"."ORG_ID" IS NOT NULL AND "E"."ORG_STAT_AREA"=0 AND
TO_NUMBER("E"."IS_INIT")>0 AND "E"."IS_DISABLE"='N' AND "E"."IS_DELETE"='N'))
6 - filter("B"."ELEC_METER_ID" IS NOT NULL)
7 - access("B"."TREATE_DATE">='2013-01-01 00:00:00' AND "B"."TREATE_DATE"<='2014-01-01 00:00:00')
filter(("B"."TREATE_DATE">='2013-01-01 00:00:00' AND "B"."TREATE_DATE"<='2014-01-01 00:00:00'))
Note
-----
- cardinality feedback used for this statement
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level
已选择133行。
已用时间: 00: 00: 00.13 |
|