Re: a explain plan question
- From: amonte <ax.mount@xxxxxxxxx>
- To: breitliw@xxxxxxxxxxxxx
- Date: Tue, 30 Jan 2007 19:46:57 +0100
As usual Wolfgang you are right. I didnt know you have to multiply the 30 *
6 million....
Thanks
Alex
On 1/30/07, Wolfgang Breitling <breitliw@xxxxxxxxxxxxx> wrote:
At 09:08 AM 1/30/2007, amonte wrote:
>This is puzzling me
>
>a change from NL to HASH (by using USE_HASH) then plan changed which
>is obvious but also the stats? TUH_NVPAGINA which has over 2000
>million of rows now shows correct estimation under HASH but showed a
>miserable 6 million using NL. What is causing this?
In the NL plan there is a flter predicate on TUH_NVPAGINA. It will
read TUH_NVPAGINA an estimated 30 times (rows from step 3) returning
~6M rows each time for an estimated 30*6M = 180M rows coming out of
the nested loop (step 2 rows = 182M)
In the HA plan it reads TUH_NVPAGINA once, all 2163M rows (there is
no a access or filter predicate for step 5). Those 2163M rows are
than hashed in step 2 against the 30 rows out of step3 returning the
same estimated 182M rows.
>--------------------------------------------------------------------------------------------
>| Id | Operation | Name | Rows | Bytes |
>Cost | Pstart| Pstop |
>--------------------------------------------------------------------------------------------
>
>| 0 | SELECT STATEMENT | | 934 | 49502
>| 1022K| | |
>| 1 | SORT GROUP BY | | 934 | 49502
>| 1022K| | |
>| 2 | NESTED
>LOOPS | | 182M| 9213M| 814K| |
|
>|* 3 | TABLE ACCESS FULL | TUD_FEDIA | 30 | 480
>| 3 | | |
>| 4 | PARTITION RANGE
>ITERATOR| | | | | KEY | KEY |
>|* 5 | TABLE ACCESS FULL | TUH_NVPAGINA | 5992K| 211M|
>27159 | KEY | KEY |
>--------------------------------------------------------------------------------------------
>
>Predicate Information (identified by operation id):
>---------------------------------------------------
>
> 3 - filter("TUD_FEDIA"."ID_MES"=TO_NUMBER(:Z))
> 5 - filter("TUH_NVPAGINA"."FE_DIA"="TUD_FEDIA"."FE_DIA")
>
>--------------------------------------------------------------------------------------------
>| Id | Operation | Name | Rows | Bytes |
>Cost | Pstart| Pstop |
>--------------------------------------------------------------------------------------------
>
>| 0 | SELECT STATEMENT | | 934 | 49502
>| 1555K| | |
>| 1 | SORT GROUP BY | | 934 | 49502
>| 1555K| | |
>|* 2 | HASH
>JOIN | | 182M| 9213M| 1347K|
| |
>|* 3 | TABLE ACCESS FULL | TUD_FEDIA | 30 | 480
>| 3 | | |
>| 4 | PARTITION RANGE
>ITERATOR| | | | | KEY | KEY |
>| 5 | TABLE ACCESS FULL |
>TUH_NVPAGINA | 2163M| 74G| 1330K| KEY | KEY |
>--------------------------------------------------------------------------------------------
>
>Predicate Information (identified by operation id):
>---------------------------------------------------
>
> 2 - access("TUH_NVPAGINA"."FE_DIA"="TUD_FEDIA"."FE_DIA")
> 3 - filter("TUD_FEDIA"."ID_MES"=TO_NUMBER(:Z))
Regards
Wolfgang Breitling
Centrex Consulting Corporation
www.centrexcc.com
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
--
http://www.freelists.org/webpage/oracle-l
- References:
- a explain plan question
- From: amonte
- Re: a explain plan question
- From: Remigiusz Soko?owski
- Re: a explain plan question
- From: Dennis Williams
- Re: a explain plan question
- From: amonte
- Re: a explain plan question
- From: Wolfgang Breitling
Other related posts:
- » a explain plan question
- » RE: a explain plan question
- » Re: a explain plan question
- » RE: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » Re: a explain plan question
- » RE: a explain plan question
- » RE: a explain plan question
- » Re: a explain plan question
- » RE: a explain plan question
- » Re: a explain plan question
At 09:08 AM 1/30/2007, amonte wrote:
>This is puzzling me
>
>a change from NL to HASH (by using USE_HASH) then plan changed which
>is obvious but also the stats? TUH_NVPAGINA which has over 2000
>million of rows now shows correct estimation under HASH but showed a
>miserable 6 million using NL. What is causing this?
In the NL plan there is a flter predicate on TUH_NVPAGINA. It will
read TUH_NVPAGINA an estimated 30 times (rows from step 3) returning
~6M rows each time for an estimated 30*6M = 180M rows coming out of
the nested loop (step 2 rows = 182M)
In the HA plan it reads TUH_NVPAGINA once, all 2163M rows (there is
no a access or filter predicate for step 5). Those 2163M rows are
than hashed in step 2 against the 30 rows out of step3 returning the
same estimated 182M rows.
>--------------------------------------------------------------------------------------------
>| Id | Operation | Name | Rows | Bytes |
>Cost | Pstart| Pstop |
>--------------------------------------------------------------------------------------------
>
>| 0 | SELECT STATEMENT | | 934 | 49502
>| 1022K| | |
>| 1 | SORT GROUP BY | | 934 | 49502
>| 1022K| | |
>| 2 | NESTED
>LOOPS | | 182M| 9213M| 814K| |
|
>|* 3 | TABLE ACCESS FULL | TUD_FEDIA | 30 | 480
>| 3 | | |
>| 4 | PARTITION RANGE
>ITERATOR| | | | | KEY | KEY |
>|* 5 | TABLE ACCESS FULL | TUH_NVPAGINA | 5992K| 211M|
>27159 | KEY | KEY |
>--------------------------------------------------------------------------------------------
>
>Predicate Information (identified by operation id):
>---------------------------------------------------
>
> 3 - filter("TUD_FEDIA"."ID_MES"=TO_NUMBER(:Z))
> 5 - filter("TUH_NVPAGINA"."FE_DIA"="TUD_FEDIA"."FE_DIA")
>
>--------------------------------------------------------------------------------------------
>| Id | Operation | Name | Rows | Bytes |
>Cost | Pstart| Pstop |
>--------------------------------------------------------------------------------------------
>
>| 0 | SELECT STATEMENT | | 934 | 49502
>| 1555K| | |
>| 1 | SORT GROUP BY | | 934 | 49502
>| 1555K| | |
>|* 2 | HASH
>JOIN | | 182M| 9213M| 1347K|
| |
>|* 3 | TABLE ACCESS FULL | TUD_FEDIA | 30 | 480
>| 3 | | |
>| 4 | PARTITION RANGE
>ITERATOR| | | | | KEY | KEY |
>| 5 | TABLE ACCESS FULL |
>TUH_NVPAGINA | 2163M| 74G| 1330K| KEY | KEY |
>--------------------------------------------------------------------------------------------
>
>Predicate Information (identified by operation id):
>---------------------------------------------------
>
> 2 - access("TUH_NVPAGINA"."FE_DIA"="TUD_FEDIA"."FE_DIA")
> 3 - filter("TUD_FEDIA"."ID_MES"=TO_NUMBER(:Z))
Regards
Wolfgang Breitling
Centrex Consulting Corporation
www.centrexcc.com
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
--
http://www.freelists.org/webpage/oracle-l
- a explain plan question
- From: amonte
- Re: a explain plan question
- From: Remigiusz Soko?owski
- Re: a explain plan question
- From: Dennis Williams
- Re: a explain plan question
- From: amonte
- Re: a explain plan question
- From: Wolfgang Breitling