Tuning Scalar Subquery with Rewrite

The following SQL is a good example of scalar sub query tuning.
The original query takes few hours to run. Please see the query and the plan below.

SELECT SUM (FEE_PAID), MAX (INVOICE_DATE)
FROM 
(SELECT STH.DATE_OF_TRAN AS INVOICE_DATE,STH.PENDING_SEQ_NO AS PENDING_TRAN_NUMBER,
               (SELECT FEE_AMT 
                  FROM FEE_TAB FT1
                 WHERE T_SEQ_NO =
                          (SELECT MAX (T_SEQ_NO)
                             FROM FEE_TAB FT2
                            WHERE     P_SEQ_NO = STH.P_SEQ_NO
                                  AND TYPE = 'AC')) AS FEE_PAID
      FROM TRAN_TAB STH
)
-----------------------------------------------------------------------------------------------------------------------------------	  
| Id  | Operation                     | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
-----------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |                      |       |       |   386 (100)|          |        |      |            |
|   1 |  FILTER                       |                      |       |       |            |          |        |      |            |
|   2 |   PX COORDINATOR              |                      |       |       |            |          |        |      |            |
|   3 |    PX SEND QC (RANDOM)        | :TQ10000             |    12M|   118M|  7168   (1)| 00:02:10 |  Q1,00 | P->S | QC (RAND)  |
|   4 |     PX BLOCK ITERATOR         |                      |    12M|   118M|  7168   (1)| 00:02:10 |  Q1,00 | PCWC |            |
|   5 |      TABLE ACCESS FULL        | FEE_TAB              |    12M|   118M|  7168   (1)| 00:02:10 |  Q1,00 | PCWP |            |
|   6 |   SORT AGGREGATE              |                      |     1 |    15 |            |          |        |      |            |
|   7 |    TABLE ACCESS BY INDEX ROWID| FEE_TAB              |     1 |    15 |    12   (0)| 00:00:01 |        |      |            |
|   8 |     INDEX RANGE SCAN          | FEE_TAB_IDX2         |    11 |       |     3   (0)| 00:00:01 |        |      |            |
|   9 |  SORT AGGREGATE               |                      |     1 |    14 |            |          |        |      |            |
|  10 |   PX COORDINATOR              |                      |       |       |            |          |        |      |            |
|  11 |    PX SEND QC (RANDOM)        | :TQ20000             |     1 |    14 |            |          |  Q2,00 | P->S | QC (RAND)  |
|  12 |     SORT AGGREGATE            |                      |     1 |    14 |            |          |  Q2,00 | PCWP |            |
|  13 |      PX BLOCK ITERATOR        |                      |   443K|  6070K|   386   (1)| 00:00:07 |  Q2,00 | PCWC |            |
|  14 |       TABLE ACCESS FULL       | TRAN_TAB             |   443K|  6070K|   386   (1)| 00:00:07 |  Q2,00 | PCWP |            |
-----------------------------------------------------------------------------------------------------------------------------------

What is this statement doing?

For each row in TRAN_TAB table, using the P_SEQ_NO, find the latest T_SEQ_NO where TYPE = ‘AC’.
Then for the that T_SEQ_NO, find the FEE_AMT and return it ( T_SEQ_NO is unique)
Finally sum up all FEE_AMTs. Also find the latest INVOICE_DATE.

Why is it taking long?

The query that should ideally take only few seconds is taking few hours.
Parallel query is enabled and both tables are with Parallel Degree 3 Instance 2. Parallel plan generated seems to be not optimal.
It is not clear why execution plan doesn’t start with TRAN_TAB table. It may be a bug or a weakness in the optimizer.

What can be done?

Often, a fast way to fix these kind of issues is to write the SQL in a different way(SQL rewrite.) Here we can think of at least four genuine options.

1. Parallel plans are known to maximize UPU usage. So we could disable parallel with a hint and see if we get a plan that is better.
2. The scalar query has an inner query too. The P_SEQ_NO = STH.P_SEQ_NO filter is only in the inner query. While this is perfectly normal, we could add the P_SEQ_NO = STH.P_SEQ_NO filter to the outer query too. This will not change the result set because T_SEQ_NO selected from the inner query has to have the same P_SEQ_NO. A legitimate rewrite. Please also note that P_SEQ_NO is indexed.
3. We can use analytical function to avoid the inner query. Hopefully that will appear less ‘complicated’ to the optimizer.
4. We can convert the scalar subquery to a join. This is also an easy change here. But for complex statement, this can get a bit difficult.

Basic Analysis

1)TRAN_TAB is a 442595 row, unpartitioned table with Parallel Degree 3 instance 2
Indexes:
TRAN_TAB_IDX1 on (P_SEQ_NO)
TRAN_TAB_IDX2 on (TRAN_SEQ_NO)
TRAN_TAB_IDX3 on (DATE_OF_TRAN)

Number of distinct values of P_SEQ_NO=36580

2)FEE_TAB is a 11,396,005 row, unpartitioned table with Parallel Degree 3 instance 2
Indexes:
FEE_TAB_IDX1 on (DATE_OF_TRAN )
FEE_TAB_IDX2 on (P_SEQ_NO )
FEE_TAB_IDX3 on (FEE_TYPE_PD)
FEE_TAB_IDX4 on (T_SEQ_NO)

Number of distinct values of P_SEQ_NO = 1 082,083
Number of distinct values of FEE_TYPE_PD = 23
Number of distinct values of T_SEQ_NO=11,396,005 (Unique)

Nearly half a million rows in the table and we need to do the look up for all of them. But the interesting thing to note here is that there are only 36580 distinct P_SEQ_NOs

Testing Rewrites

1. Disable Parallel With a Hint

13:46:50 SQL> SELECT /*+noparallel*/ SUM (FEE_PAID), MAX (INVOICE_DATE)
13:46:50   2  	FROM (SELECT STH.DATE_OF_TRAN AS INVOICE_DATE,
13:46:50   3  		     STH.PENDING_SEQ_NO AS PENDING_TRAN_NUMBER,
13:46:50   4  		     (SELECT  FEE_AMT
13:46:50   5  			FROM FEE_TAB FT1
13:46:50   6  		       WHERE T_SEQ_NO =
13:46:50   7  				(SELECT MAX (T_SEQ_NO)
13:46:50   8  				   FROM FEE_TAB FT2
13:46:50   9  				  WHERE     P_SEQ_NO = STH.P_SEQ_NO
13:46:50  10  					AND TYPE = 'AC'))
13:46:50  11  			AS FEE_PAID
13:46:50  12  		FROM TRAN_TAB STH);

SUM(FEE_PAID) MAX(INVOI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
------------- ---------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
   -111304785 13-JAN-15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

Elapsed: 00:00:20.69
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
-------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
| Id  | Operation                      | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
-------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|   0 | SELECT STATEMENT               |                      |     1 |    14 |  2085   (1)| 00:00:38 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|   1 |  TABLE ACCESS BY INDEX ROWID   | FEE_TAB      |     1 |    10 |     4   (0)| 00:00:01 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|*  2 |   INDEX RANGE SCAN             | FEE_TAB_IDX4 |     1 |       |     3   (0)| 00:00:01 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|   3 |    SORT AGGREGATE              |                      |     1 |    15 |            |          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|*  4 |     TABLE ACCESS BY INDEX ROWID| FEE_TAB      |     1 |    15 |    12   (0)| 00:00:01 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|*  5 |      INDEX RANGE SCAN          | FEE_TAB_IDX2 |    11 |       |     3   (0)| 00:00:01 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|   6 |  SORT AGGREGATE                |                      |     1 |    14 |            |          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
|   7 |   TABLE ACCESS FULL            | TRAN_TAB     |   443K|  6070K|  2085   (1)| 00:00:38 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
-------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
 
Statistics
----------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
          0  recursive calls                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
          0  db block gets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    5174287  consistent gets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
          0  physical reads                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

2. Adding "P_SEQ_NO = STH.P_SEQ_NO" Filter to the Inner Query of the Scalar Subquery
 
13:47:11 SQL> SELECT SUM (FEE_PAID), MAX (INVOICE_DATE)
13:47:11   2  	FROM (SELECT STH.DATE_OF_TRAN AS INVOICE_DATE,
13:47:11   3  		     STH.PENDING_SEQ_NO AS PENDING_TRAN_NUMBER,
13:47:11   4  		     (SELECT FEE_AMT
13:47:11   5  			FROM FEE_TAB FT1
13:47:11   6  		       WHERE	 P_SEQ_NO = STH.P_SEQ_NO
13:47:11   7  			     AND T_SEQ_NO =
13:47:11   8  				    (SELECT MAX (T_SEQ_NO)
13:47:11   9  				       FROM FEE_TAB FT2
13:47:11  10  				      WHERE	P_SEQ_NO = STH.P_SEQ_NO
13:47:11  11  					    AND TYPE = 'AC'))
13:47:11  12  			AS FEE_PAID
13:47:11  13  		FROM TRAN_TAB STH);

SUM(FEE_PAID) MAX(INVOI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
------------- ---------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
   -111304785 13-JAN-15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

Elapsed: 00:00:04.13

------------------------------------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
| Id  | Operation                      | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
------------------------------------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|   0 | SELECT STATEMENT               |                      |     1 |    14 |   386   (1)| 00:00:07 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|*  1 |  TABLE ACCESS BY INDEX ROWID   | FEE_TAB      |     1 |    16 |     4   (0)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|*  2 |   INDEX RANGE SCAN             | FEE_TAB_IDX4 |     1 |       |     3   (0)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|   3 |    SORT AGGREGATE              |                      |     1 |    15 |            |          |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|*  4 |     TABLE ACCESS BY INDEX ROWID| FEE_TAB      |     1 |    15 |    12   (0)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|*  5 |      INDEX RANGE SCAN          | FEE_TAB_IDX2 |    11 |       |     3   (0)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|   6 |  SORT AGGREGATE                |                      |     1 |    14 |            |          |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|   7 |   PX COORDINATOR               |                      |       |       |            |          |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|   8 |    PX SEND QC (RANDOM)         | :TQ10000             |     1 |    14 |            |          |  Q1,00 | P->S | QC (RAND)  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|   9 |     SORT AGGREGATE             |                      |     1 |    14 |            |          |  Q1,00 | PCWP |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|  10 |      PX BLOCK ITERATOR         |                      |   443K|  6070K|   386   (1)| 00:00:07 |  Q1,00 | PCWC |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
|  11 |       TABLE ACCESS FULL        | TRAN_TAB     |   443K|  6070K|   386   (1)| 00:00:07 |  Q1,00 | PCWP |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
------------------------------------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

Statistics
----------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
         18  recursive calls                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
          0  db block gets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    5166543  consistent gets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
          0  physical reads                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

3. Use Analytical Function to Avoid the Inner Query
 
13:47:39 SQL> SELECT SUM (FEE_PAID), MAX (INVOICE_DATE)
13:47:39   2  	FROM (SELECT STH.DATE_OF_TRAN AS INVOICE_DATE,
13:47:39   3  		     STH.PENDING_SEQ_NO AS PENDING_TRAN_NUMBER,
13:47:39   4  		     (SELECT DISTINCT
13:47:39   5  			     (FIRST_VALUE (FEE_AMT) OVER (ORDER BY T_SEQ_NO DESC))
13:47:39   6  			FROM FEE_TAB FT2
13:47:39   7  		       WHERE	 P_SEQ_NO = STH.P_SEQ_NO
13:47:39   8  			     AND TYPE = 'AC')
13:47:39   9  			AS FEE_PAID
13:47:39  10  		FROM TRAN_TAB STH);

SUM(FEE_PAID) MAX(INVOI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
------------- ---------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
   -111304785 13-JAN-15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

Elapsed: 00:00:04.67
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
-----------------------------------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
| Id  | Operation                     | Name                 | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
-----------------------------------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   0 | SELECT STATEMENT              |                      |     1 |    14 |   386   (1)| 00:00:07 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   1 |  SORT UNIQUE                  |                      |     1 |    19 |    14  (15)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   2 |   WINDOW SORT                 |                      |     1 |    19 |    14  (15)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|*  3 |    TABLE ACCESS BY INDEX ROWID| FEE_TAB      |     1 |    19 |    12   (0)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|*  4 |     INDEX RANGE SCAN          | FEE_TAB_IDX2 |    11 |       |     3   (0)| 00:00:01 |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   5 |  SORT AGGREGATE               |                      |     1 |    14 |            |          |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   6 |   PX COORDINATOR              |                      |       |       |            |          |        |      |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   7 |    PX SEND QC (RANDOM)        | :TQ10000             |     1 |    14 |            |          |  Q1,00 | P->S | QC (RAND)  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   8 |     SORT AGGREGATE            |                      |     1 |    14 |            |          |  Q1,00 | PCWP |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|   9 |      PX BLOCK ITERATOR        |                      |   443K|  6070K|   386   (1)| 00:00:07 |  Q1,00 | PCWC |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
|  10 |       TABLE ACCESS FULL       | TRAN_TAB     |   443K|  6070K|   386   (1)| 00:00:07 |  Q1,00 | PCWP |            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
-----------------------------------------------------------------------------------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
Statistics
----------------------------------------------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
         18  recursive calls                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
          0  db block gets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    4643613  consistent gets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
          0  physical reads                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

4. Converting Scalar Subquery to a Join

16:05:34 SQL> SELECT
16:05:34   2        SUM (FEE_PAID), MAX (INVOICE_DATE)
16:05:34   3    FROM (SELECT /*+ordered*/
16:05:34   4                STH.DATE_OF_TRAN AS INVOICE_DATE, STH.PENDING_SEQ_NO AS PENDING_TRAN_NUMBER, v.FEE_PAID
16:05:34   5            FROM TRAN_TAB STH,
16:05:34   6                 (SELECT DISTINCT P_SEQ_NO, (FIRST_VALUE (FEE_AMT) OVER (ORDER BY T_SEQ_NO DESC)) FEE_PAID
16:05:34   7                    FROM FEE_TAB
16:05:34   8                   WHERE TYPE = 'AC') v
16:05:34   9           WHERE STH.P_SEQ_NO = v.P_SEQ_NO);

SUM(FEE_PAID) MAX(INVOI
------------- ---------
   -133753785 13-JAN-15

Elapsed: 00:00:05.36

--------------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                          | Name             | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                   |                  |     1 |    40 |       |  7560   (1)| 00:02:17 |        |      |            |
|   1 |  SORT AGGREGATE                    |                  |     1 |    40 |       |            |       |        |      |       |
|   2 |   PX COORDINATOR                   |                  |       |       |       |            |       |        |      |       |
|   3 |    PX SEND QC (RANDOM)             | :TQ20002         |     1 |    40 |       |            |       |  Q2,02 | P->S | QC (RAND)  |
|   4 |     SORT AGGREGATE                 |                  |     1 |    40 |       |            |       |  Q2,02 | PCWP |       |
|*  5 |      HASH JOIN                     |                  |   550K|    20M|       |  7560   (1)| 00:02:17 |  Q2,02 | PCWP |            |
|   6 |       PX RECEIVE                   |                  |   443K|  6070K|       |   386   (1)| 00:00:07 |  Q2,02 | PCWP |            |
|   7 |        PX SEND HASH                | :TQ20001         |   443K|  6070K|       |   386   (1)| 00:00:07 |  Q2,01 | P->P | HASH       |
|   8 |         PX BLOCK ITERATOR          |                  |   443K|  6070K|       |   386   (1)| 00:00:07 |  Q2,01 | PCWC |            |
|   9 |          TABLE ACCESS FULL         | TRAN_TAB |   443K|  6070K|       |   386   (1)| 00:00:07 |  Q2,01 | PCWP |            |
|  10 |       BUFFER SORT                  |                  |       |       |       |            |       |  Q2,02 | PCWC |       |
|  11 |        PX RECEIVE                  |                  |   540K|    13M|       |  7173   (1)| 00:02:10 |  Q2,02 | PCWP |            |
|  12 |         PX SEND HASH               | :TQ20000         |   540K|    13M|       |  7173   (1)| 00:02:10 |        | S->P | HASH       |
|  13 |          VIEW                      |                  |   540K|    13M|       |  7173   (1)| 00:02:10 |        |      |            |
|  14 |           SORT UNIQUE              |                  |   540K|     9M|    16M|  7173   (1)| 00:02:10 |        |      |            |
|  15 |            WINDOW BUFFER           |                  |   540K|     9M|       |  7173   (1)| 00:02:10 |        |      |            |
|  16 |             PX COORDINATOR         |                  |       |       |       |            |       |        |      |       |
|  17 |              PX SEND QC (ORDER)    | :TQ10001         |   540K|     9M|       |  7173   (1)| 00:02:10 |  Q1,01 | P->S | QC (ORDER) |
|  18 |               SORT ORDER BY        |                  |   540K|     9M|       |  7173   (1)| 00:02:10 |  Q1,01 | PCWP |            |
|  19 |                PX RECEIVE          |                  |   540K|     9M|       |  7164   (1)| 00:02:09 |  Q1,01 | PCWP |            |
|  20 |                 PX SEND RANGE      | :TQ10000         |   540K|     9M|       |  7164   (1)| 00:02:09 |  Q1,00 | P->P | RANGE      |
|  21 |                  PX BLOCK ITERATOR |                  |   540K|     9M|       |  7164   (1)| 00:02:09 |  Q1,00 | PCWC |            |
|* 22 |                   TABLE ACCESS FULL| FEE_TAB  |   540K|     9M|       |  7164   (1)| 00:02:09 |  Q1,00 | PCWP |            |
--------------------------------------------------------------------------------------------------------------------------------------------

Statistics
----------------------------------------------------------
         96  recursive calls
          0  db block gets
     116736  consistent gets
       3949  physical reads

Conclusion

Rewrites using analytical function or adding P_SEQ_NO = STH.P_SEQ_NO to the outer query in the scalar sub query seems to do the trick.
The amount of rewrites in this case is very minimal. All four rewrites give good improvement compared to the original query. But the join approach has significantly less LIO.

I personally think the issue with the original query may be a combination of the following exposing a weakness of the optimizer:
1) parallel, and
2) the fact that the correlation to the scalar sub query is a level deep

Note : 12c seems to have some mechanism to unnest scalar sub queries. But I did not get a chance to explore that yet.

87 thoughts on “Tuning Scalar Subquery with Rewrite

  1. Great ?V I should certainly pronounce, impressed with your web site. I had no trouble navigating through all the tabs as well as related information ended up being truly easy to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or anything, website theme . a tones way for your client to communicate. Excellent task..

  2. Hello I am so happy I found your webpage, I really found you by mistake, while I was searching on Google for something else, Nonetheless I am here now and would just like to say many thanks for a remarkable post and a all round enjoyable blog (I also love the theme/design), I don’t have time to read it all at the minute but I have book-marked it and also added your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the great work.

  3. Hello there, I found your site by the use of Google even as searching for a similar subject, your web site came up, it seems to be good. I have bookmarked it in my google bookmarks.

  4. There are certainly a whole lot of particulars like that to take into consideration. That could be a nice point to carry up. I provide the ideas above as basic inspiration however clearly there are questions like the one you deliver up where the most important thing will likely be working in honest good faith. I don?t know if finest practices have emerged around issues like that, however I am certain that your job is clearly recognized as a good game. Both boys and girls feel the influence of only a moment’s pleasure, for the rest of their lives.

  5. It’s laborious to seek out knowledgeable folks on this subject, but you sound like you understand what you’re talking about! Thanks

  6. I like what you guys are up also. Such clever work and reporting! Carry on the superb works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my website :).

  7. Thank you for the sensible critique. Me and my neighbor were just preparing to do a little research about this. We got a grab a book from our area library but I think I learned more from this post. I’m very glad to see such fantastic info being shared freely out there.

  8. Hi , I do believe this is an excellent blog. I stumbled upon it on Yahoo , i will come back once again. Money and freedom is the best way to change, may you be rich and help other people.

  9. Good V I should certainly pronounce, impressed with your web site. I had no trouble navigating through all the tabs as well as related information ended up being truly simple to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or something, web site theme . a tones way for your client to communicate. Nice task..

  10. Hi there! I know this is kinda off topic however I’d figured I’d ask. Would you be interested in trading links or maybe guest writing a blog post or vice-versa? My website discusses a lot of the same topics as yours and I feel we could greatly benefit from each other. If you are interested feel free to shoot me an email. I look forward to hearing from you! Fantastic blog by the way!

  11. My brother recommended I might like this web site. He was totally right. This post actually made my day. You can not imagine simply how much time I had spent for this info! Thanks!

  12. Rattling wonderful information can be found on blog. “Prayer is the wing wherewith the soul flies to heaven, and meditation the eye wherewith we see God.” by Ambrose of Milan.

  13. Thanks for another fantastic post. The place else may just anyone get that type of info in such an ideal approach of writing? I have a presentation next week, and I am on the search for such information.

  14. Oh my goodness! an incredible article dude. Thanks Nevertheless I am experiencing problem with ur rss . Don’t know why Unable to subscribe to it. Is there anybody getting identical rss problem? Anyone who knows kindly respond. Thnkx

  15. Rattling excellent information can be found on website. “An executive is a person who always decides sometimes he decides correctly, but he always decides.” by John H. Patterson.

  16. I got what you mean , thanks for putting up.Woh I am pleased to find this website through google. “Wisdom doesn’t necessarily come with age. Sometimes age just shows up by itself.” by Woodrow Wilson.

  17. Good day! I could have sworn I’ve been to this website before but after reading through some of the post I realized it’s new to me. Anyhow, I’m definitely glad I found it and I’ll be bookmarking and checking back frequently!

  18. My coder is trying to persuade me to move to .net from PHP. I have always disliked the idea because of the costs. But he’s tryiong none the less. I’ve been using Movable-type on a number of websites for about a year and am anxious about switching to another platform. I have heard excellent things about blogengine.net. Is there a way I can import all my wordpress posts into it? Any help would be really appreciated!

  19. Have you ever thought about writing an ebook or guest authoring on other sites? I have a blog based upon on the same information you discuss and would really like to have you share some stories/information. I know my subscribers would value your work. If you’re even remotely interested, feel free to shoot me an e mail.

  20. My brother suggested I might like this blog. He was totally right. This post actually made my day. You cann’t imagine simply how much time I had spent for this info! Thanks!

  21. Just a smiling visitor here to share the love (:, btw outstanding style. “The price one pays for pursuing a profession, or calling, is an intimate knowledge of its ugly side.” by James Arthur Baldwin.

    1. Nice post. I learn something new and challenging on sites
      I stumbleupon every day. It will always be useful
      to read content from other authors and practice something
      from their sites.

  22. I think this internet site contains some really great information for everyone :D. “Years wrinkle the skin, but to give up enthusiasm wrinkles the soul.” by Samuel Ullman.

  23. Nice blog right here! Additionally your web site quite a bit up very fast! What web host are you the use of? Can I am getting your associate link on your host? I desire my website loaded up as quickly as yours lol

    1. We are a gaggle of volunteers and starting a new
      scheme in our community. Your website provided us with valuable information to
      work on. You have performed a formidable task and our entire neighborhood will likely be thankful to you.

  24. I noticed that your artoftuning.net website could be missing out on approximately a thousand visitors daily. Our AI powered traffic system is tailored to enhance your site’s visibility: https://ln.run/VZn5V
    We’re offering a free trial that includes four thousand targeted visitors to show the potential benefits. After the trial, we can supply up to 250,000 targeted visitors per month. This opportunity could greatly amplify your website’s reach and visitors.

  25. A formidable share, I just given this onto a colleague who was doing a bit analysis on this. And he the truth is bought me breakfast as a result of I discovered it for him.. smile. So let me reword that: Thnx for the treat! However yeah Thnkx for spending the time to discuss this, I really feel strongly about it and love reading more on this topic. If doable, as you turn into experience, would you thoughts updating your weblog with more particulars? It’s extremely helpful for me. Huge thumb up for this blog submit!

  26. I really enjoy looking at on this site, it has got great content. “Violence commands both literature and life, and violence is always crude and distorted.” by Ellen Glasgow.

  27. Usually I do not read article on blogs, however I would like to say that this write-up very forced me to take a look at and do so! Your writing taste has been amazed me. Thanks, quite nice article.

  28. Thanks for the ideas you have shared here. Something else I would like to mention is that computer memory requirements generally rise along with other innovations in the technological know-how. For instance, when new generations of processor chips are introduced to the market, there is usually a related increase in the size preferences of both pc memory and hard drive space. This is because the software operated by means of these cpus will inevitably increase in power to make use of the new technologies.

  29. hello there and thank you in your info – I have certainly picked up anything new from proper here. I did however experience some technical points using this website, as I experienced to reload the website a lot of occasions previous to I may get it to load correctly. I were considering if your web host is OK? Not that I am complaining, however sluggish loading cases instances will often impact your placement in google and could harm your high-quality score if ads and ***********|advertising|advertising|advertising and *********** with Adwords. Anyway I’m adding this RSS to my e-mail and can look out for much more of your respective fascinating content. Make sure you update this again very soon..

  30. Masteron is a banned substance by WADA and all
    other anti-doping authorities worldwide. Just like hair
    loss, acne growth on Masteron is individually dependent.
    This may be on the again, shoulders, chest, scalp, face, stomach, arms – virtually anyplace in extreme cases.
    Cystic zits (pus-filled inflammatory acne) leading to scars isn’t unheard of amongst
    Masteron users, who’re predisposed to this type of
    response from DHT steroids. A visit to a dermatologist and taking prescription drugs
    to regulate zits is something more than a few Masteron users resort to.
    HCG could cause unwanted aspect effects like gyno, so it should be taken with an aromatase inhibitor to stop this.
    This stack could have zero water retention, and Anavar will increase your fat
    loss capabilities.
    Due To This Fact, customers should plan their cycle accordingly so as
    to maximize their potential outcomes. These utilizing this model of Tren can count on to feel its effects
    start inside every week, though full effects will take a period of time to manifest and be correctly loved over a longer period.

    As an added bonus, this legal steroid various accommodates no synthetic hormones or poisonous chemicals,
    so it’s utterly secure to be used with no danger of great opposed reactions or authorized implications.

    It is important for individuals who’re thinking about using Trenbolone to
    weigh the potential consequences carefully before deciding to use this steroid.

    This puts Trenbolone Acetate in the identical class as Deca Durabolin (Nandrolone Decanoate).
    In reality, the Trenbolone hormone itself is solely a modified form of the Nandrolone hormone.
    The Trenbolone hormone carries a double bond at carbons 9
    and 11, which in flip slows its metabolism, tremendously will increase its binding
    affinity to the androgen receptor, and inhibits it from
    aromatizing. The ensuing change makes Trenbolone one of the potent
    anabolic steroids of all time. Merely by taking a look at its
    structural ratings, we can begin to see how powerful
    it is.
    Non-drug-tested powerlifters will nearly definitely cycle trenbolone
    prior to a contest. Getting enough sleep, minimizing
    stress, and customarily dwelling a healthy life-style will also
    assist a user’s outcomes on trenbolone. Genetics, diet, life-style, exercises, and cycle protocol will all
    affect a person’s trenbolone results. Due to the androgenicity of Trenbolone,
    some will try 5-alpha reductase inhibitors like Finasteride to realize safety.
    Nevertheless, the 5-alpha reductase enzyme does not metabolize the
    Trenbolone hormone and related inhibitors may have little or no if any
    effect.
    Tren is without question one of the versatile anabolic steroids as it can be used for almost any function of performance enhancement.
    It’s commonly said that Testosterone is probably
    the most versatile anabolic steroid and that’s a tough point to argue against,
    but in relation to the numerous efficiency primarily based advantages Tren is undoubtedly
    king. Fats loss and gaining of some lean mass shall be ramped up on this cycle with out water retention caused by any of the compounds.
    Testosterone can be included to provide a functional degree of the hormone.
    Parabolan can be used at up to 300mg weekly, and Winstrol oral at 50mg
    day by day most.
    However, its potency also comes with significant dangers that must be fastidiously thought of.

    For athletes looking for efficiency enhancement, Trenbolone
    can provide fast outcomes, but it requires a disciplined approach, together with protected
    dosing, post-cycle therapy, and common health monitoring.
    One Other widespread steroidal trait held
    by Trenbolone Acetate is its capability to inhibit glucocorticoid
    hormones.
    It is a natural derivative of testosterone and is used as a performance-enhancing drug in bodybuilding, athletics, and different sports activities.

    Trenbolone acetate has been used in some of
    the most extreme situations possible, together with as a part of
    human Biathlon doping scandals. Utilizing Trenbolone can be a safe and
    effective way to obtain your bodybuilding targets.
    By following a Trenbolone cycle and utilizing it responsibly, you can get the most out of this highly effective
    steroid while minimizing the dangers to your well being.
    Protein synthesis is how the physique repairs and builds
    muscle tissue, whereas nitrogen retention helps to create an anabolic setting
    within the muscular tissues. An anabolic state is essential for muscle hypertrophy, which is the rise in muscle size.
    By stacking these two compounds, users usually experience important muscle development in a shorter
    timeframe than with testosterone alone. Trenbolone Acetate is a synthetic steroid used by bodybuilders and athletes
    to increase muscle mass. It is probably one of the hottest anabolic steroids available
    on the market, and for good cause. Trenbolone Acetate is a powerful steroid that may allow you to obtain your targets quicker than some other anabolic steroid.

    In my experience, proper dosing and administration of Trenbolone Acetate can result in vital gains in muscle mass and energy.
    However, it is necessary to all the time seek the guidance of with a healthcare skilled
    before starting any steroid cycle and to observe their guidance intently.
    For the performance-enhancing athlete you can see there is no anabolic steroid as versatile or as helpful
    as trenbolone acetate. This steroid can be used
    for any cycle as it could possibly promote mass energy, muscle definition, and hardness and whole body transformation better than any steroid on earth.
    In each classes this type of trenbolone has the acetate ester
    added to it. Regardless of the aim of use, your genetics or rumors you could have heard,
    the unwanted aspect effects of Trenbolone Acetate will all the
    time include pure testosterone suppression.
    Bodybuilders use it to reduce the number of injections they should have.
    Nevertheless, it must be used with warning as
    it could possibly trigger some undesirable unwanted facet effects corresponding
    to aggression and elevated blood stress. It is important to seek the
    advice of your physician earlier than using trenbolone for
    slicing functions. Trenbolone Acetate, characterized by its fast-acting nature, has a shorter ester chain (acetate ester) in comparison with Trenbolone Enanthate.

    To help you make an informed choice, the next table provides a comparability of Trenbolone dosage options, highlighting the beneficial dosages for varied Trenbolone variants.
    Please notice that these dosages are basic guidelines and will differ depending on individual elements.
    Seek The Assistance Of with a healthcare skilled or an skilled
    fitness skilled to find out the most suitable dosage for your
    particular wants. Deca-Durabolin (or Deca) is probably considered one of the most
    popular bulking steroids we see people utilizing.

    Solely barely extra Anabolic than Testosterone,
    we will still see a massive amount of muscle gains when mixed with Testosterone.

    The value of the raw powder to manufacture is rather more than that
    of testosterone or deca. It’s in all probability the most
    well-liked steroid today as a result of it’s really the most bang for your
    buck. Parabolan is incessantly stacked with
    many alternative steroids, depending on whether you are
    bulking or chopping. Some examples embrace Anadrol, Dianabol, Deca-Durabolin, Equipoise, and Winstrol.
    Usually called “Tren rage,” it is believed that individuals who
    have already got an aggressive nature before
    utilizing Tren are more likely to turn out to be worse while on it.

    The major cause for so-called Tren-rage is the impact the androgenic compounds have on mind
    chemistry, inflicting irritability and a brief fuse in some
    guys.

    References:

    best steroids for size (Buster)

  31. Particularly in sensitive individuals the concurrent use of trenbolone with an aromatizing steroid would result in a larger risk.

    The use of an anti estrogen is usually really helpful when utilizing trenbolone as it’s going to inhibit this
    motion. Power may also be greatly protected and greatly enhanced nearing an all-season period
    due to the steroids androgenic nature. This similar androgenic nature will further tremendously promote hardness when the physique
    is lean. In truth this steroid will promote hardness and definition better than any to steroids stacked together.
    Trenbolone acetate carries many properties which
    are similar to many other anabolic steroids.
    Larger dosages of Sustanon and Trenbolone can increase the risk of opposed results, so discovering
    the right stability between desired outcomes and potential harm is crucial.
    By taking into account components such as
    experience level, particular person characteristics, and potential unwanted side effects, an appropriate dosage range could be determined
    for the optimal use of each steroids. Trenbolone is a synthetic
    anabolic-androgenic steroid that is derived from testosterone.
    It was first developed within the 1960s for veterinary use, however bodybuilders quickly began using it for
    its muscle-building and fat-burning properties.
    Gynecomastia also appears to be most common among individuals
    who take the best amount of steroids, with smaller doses being a lot safer in this regard.
    Though gynecomastia amongst steroid customers is not particularly widespread, it does happen incessantly sufficient that many individuals who use steroids additionally take
    a mix of different medicine in an effort to forestall it from occurring.
    Progesterone is a hormone that plays a role in quite a lot of processes that occur
    throughout the body. These processes embrace the production of different hormones, in addition to metabolism and brain operate.
    The incontrovertible reality that it is amongst the primary hormones
    concerned in menstruation, fertility, and breast development in women is nevertheless the reason for which it’s most widely identified.
    This system does an impressively good job of maintaining testosterone levels within a relatively narrow range, presuming that the
    individual is otherwise healthy in other
    respects. This steroid is renowned for its
    potent results and numerous advantages, but it’s essential to acknowledge that it may additionally entail vital results that customers should be conscious of.

    Cortisol is a pertinent instance of a catabolic steroid hormone that has permissive effects on fat burning [3].
    On the opposite hand, testosterone is the grandfather of anabolic steroids; it
    stimulates protein synthesis and muscle building [4].
    Due to the potent nature of trenbolone, we often see
    users absolutely shut down post-cycle as a outcome of
    trenbolone severely affecting the HPTA.
    If you’re a extra experienced consumer, you could discover that you can tolerate
    a better dose of Trenbolone. You will doubtless feel the
    results of Trenbolone within the first few days, with the results changing into extra pronounced by week two
    or three. Trenbolone is a fast-acting steroid, which signifies
    that you will begin to really feel its results of
    it inside a few days of taking it. When one thinks of individuals that have undergone dramatic physical changes, Christian Bale is the
    first name that involves mind. In the movie “The Machinist,” he portrays an anorexic insomniac
    who is unable to carry out even a single push-up.

    One of the first goals of the film business is to captivate audiences by
    creating virtual worlds that elicit a wide range of emotions.

    One of the most important issues that people have when it comes
    to Trenavar,  is the fact that it elevates a person’s blood pressure.

    Hypertension, or, high blood pressure, is amongst the most harmful situations for a person to be stricken with, and it
    can result in numerous well being complications and even dying.
    Whether Or Not you’re dieting down for a contest, or on the point of showcase a lean and ripped physique as part of a photo shoot.
    Furthermore, each steroids produce very different visual appears, with Deca giving a fuller and thicker look to the muscle tissue with
    some smoothness. Deca increases progesterone, an identical feminine hormone to estrogen, and thus
    puffy nipples could additionally be skilled by some customers.
    Deca and tren will produce vital energy features, with the latter being the
    extra efficacious compound for energy.
    As a end result, the body burns more energy, which leads to a
    reduction in physique fats. In phrases of fat-burning, Trenbolone has been shown to
    improve physique composition and enhance fat burning. Trenbolone could cause liver toxicity, mood swings, and
    mental well being points such as nervousness and despair.
    A typical PCT for ladies consists of human chorionic gonadotropin (HCG) and a
    selective estrogen receptor modulator (SERM) corresponding to Clomid
    or Nolvadex. However, you will want to use caution when stacking and to avoid
    combining steroids which have similar unwanted effects.

    Masteron will present a pleasant psychological increase to this cycle,
    drying you out and adding vascularity. Muscle features
    will also be average; expect 10 lbs at the most, but this should be totally maintainable.

    Many men declare their disappointment that Masteron is such an unbelievable steroid in every different way besides
    its capacity to take away your hair literally.
    “Confident, assertive, happy” is what Masteron can do to our psychological outlook.

    Thus, to inhibit extreme adrenaline, we advise customers to reduce their caffeine intake when biking tren. However,
    the adverse impact of high adrenaline levels is elevated sweating out and in of the gym.

    Trenbolone is a potent fats burner as a result of it being highly
    androgenic, with the AR (androgen receptor) stimulating lipolysis in adipose
    tissue.
    By enhancing protein synthesis and nitrogen retention, this compound creates an optimal
    environment for muscle development. It enables your
    physique to utilize protein extra efficiently, facilitating the repair and development of
    muscle fibers. Trenbolone Enanthate additionally increases the manufacturing of Insulin-like
    Progress Factor-1 (IGF-1), a hormone known for its anabolic properties.

    It helps to extend protein synthesis, which is important for muscle development and repair.
    Moreover, Trenbolone helps to retain nitrogen in the muscles,
    which is crucial for muscle development. Tren-max is
    a pure complement that mimics the results
    of Trenbolone without the unfavorable side effects.

    It can help you construct muscle, improve strength, and improve athletic
    performance without placing your well being in danger.
    Subsequently, together with your pure testosterone
    ranges suppressed, once your cycle is finished,
    you could then experience low T.

    References:

    do steroids give you energy (Jacob)

  32. Some health lovers decide to stack Winstrol and Anavar in a single
    cutting cycle, capitalizing on the strengths of every compound.

    By doing so, they can optimize their body’s fat-burning capabilities while sustaining lean muscle mass.
    This method permits the lifter to expertise
    the best of each worlds but must be practiced with warning and consideration to acceptable dosing and cycle
    lengths to make sure a positive outcome. Winstrol
    (Stanozolol), is commonly utilized by athletes for its strength to advertise agility and energy.
    On the opposite hand, Anavar (Oxandrolone) has garnered its reputation principally due to its comparatively mild nature, which makes it
    a preferable selection for newbies.
    Winstrol is one other steroid used by these looking to shed pounds or reduce for the summer time.

    Again, that is an illegal compound that may have quite a quantity of unwanted side
    effects. To scale back the risk of virilization even additional, ladies might opt to
    begin taking Anavar at 5mg and enhance their dose progressively.
    However, if girls take excessive doses for long periods
    of time, virilization unwanted effects with Anavar alone are still
    potential. However, Anavar is the exception to this rule, displaying powerful strength-building
    attributes; despite not causing significant weight gain. Anavar just isn’t classed as a bulking steroid because of this, as its
    muscle-building effects are inferior to different classic bulking steroids.

    In terms of strength features, Anavar is considered mild whereas Winstrol is more potent.
    When it comes to bodybuilding and athletic performance, anabolic
    steroids are often used to enhance bodily efficiency and promote muscle
    growth. Two well-liked steroids which may be incessantly
    compared and debated amongst athletes and health fanatics are Anavar and
    Winstrol.
    There is a danger when purchasing any anabolic steroid on the black market; however, it could possibly be argued that Anavar
    is especially precarious due to its high market value.

    Consequently, a common rip-off we now have seen is for sellers
    to dilute or substitute oxandrolone for methandrostenolone (Dianabol), which could be manufactured at
    a fraction of the price. In distinction to Anavar, much less analysis has been conducted
    on Winstrol with regard to the liver.
    Whereas liver toxicity is a significant concern with Winstrol, a fair larger
    area of concern can be related to your cardiovascular
    well being. Extra particularly, what Winstrol can probably do to your cholesterol levels is not to be ignored.

    There’s no way around the truth that Winstrol goes to suppress your natural testosterone production.
    Monitoring and regular check-ups with a healthcare skilled are crucial to mitigate these dangers when using Winstrol.

    Both compounds are quite forgiving, easy to get, and could possibly be used in relatively brief cycles.
    And after all, you must use the whole article to choose the one which fits YOUR needs higher – that was the purpose all alongside.
    Clomid is really helpful as a substitute of Nolvadex as a result of we’ve Deca
    – Nandrolone – in the stack. The pause for two weeks is there to let your body eliminate all of the leftovers
    of your gear.
    In some individuals, LDL levels could also be increased (this is the “bad” kind of cholesterol), whereas
    the “good” ldl cholesterol of HDL is decreased.
    Trenbolone is the most effective recomp steroid but additionally the harshest AAS we will use.
    Only run this cycle if you’ve used Tren earlier than and understand the
    means to handle its unwanted effects. Although it’s an injectable
    steroid, Tren is thought to be extra liver-toxic than Anavar, so we maintain this as a short cycle.

    In general, DHT derivatives are dry strength builders with dependable and
    predictable ranges of anabolic exercise. Nitrogen retention was roughly the
    same between the entire steroids evaluated within the research above [R].
    DHT derivatives are sometimes perceived to be poor decisions for a mass building phase/offseason because they don’t seem to
    supply as much hypertrophy because the Testosterone and
    19-Nor households. If a steroid did not exhibit a extra
    favorable anabolic/androgenic ratio than Testosterone, it would have been abandoned for any
    software apart from pure androgen replacement in males (e.g.
    Proviron).
    These results are typical of Anavar’s results; however, if
    customers eat in a calorie surplus, fat loss is prone to be less than these illustrated above.
    Thus, food regimen remains an essential factor in figuring out body
    composition on Anavar. Deciding between Anavar and Winstrol depends on your
    health and health targets. It Is crucial to use them
    responsibly to remain healthy in the long run. By planning well, sticking to the proper doses, and checking
    your health often, you can reach your goals safely.
    This method ensures a profitable and protected journey to health excellence.

    At a minimum, all male customers will want to stack Anavar with
    testosterone at a base TRT dosage to avoid the effects of low testosterone on account of Anavar’s suppressive activity.
    If Anavar is being used as part of a longer contest prep cycle, it’ll typically be saved for the final weeks of the cycle to get you
    as lean and shredded as possible. While Clenbuterol suppresses the appetite, Anavar can improve starvation in some customers.
    This is not a priority for girls who can proceed
    with an Anavar-only cycle at the really helpful 10mg daily dose.
    Most cycles will utilize testosterone past the 8-week Anavar
    cycle size, extending to 12 weeks with testosterone before beginning
    post-cycle remedy. You can count on wonderful results without
    water retention with this cycle.
    Anavar has a minimal effect on cholesterol levels,
    and it may even enhance HDL (good) levels of cholesterol.
    Winstrol, on the other hand, can decrease
    HDL cholesterol and improve LDL (bad) cholesterol levels.
    Winstrol is a slicing steroid that’s used to assist burn fat and
    enhance muscle definition and hardness. Winstrol is generally thought of to be more potent than Anavar by way
    of its anabolic and androgenic effects. This is as a outcome of
    Winstrol is a derivative of dihydrotestosterone (DHT), which is a
    more potent androgen than testosterone, the hormone from which Anavar is derived.
    We’re speaking about two compounds, designed over half a century ago,
    that both – surprise-surprise – have been NOT supposed for bodybuilding.

    For instance, I scale back the daily dose by half every two weeks until I’m again right
    down to the beginning dosages of 20mg of Anavar and 25mg of Winstrol per day.
    This helps my physique readjust and prevents potential
    side effects from the abrupt cessation of the steroids.
    However, if you’re contemplating using Anavar, you might be questioning if it’ll show up in a blood check.
    Did you understand Anavar was first created in 1964 by pharmaceutical agency
    Searle Laboratories?

    References:

    rich piana on steroids

Leave a Reply to rich piana on steroids Cancel reply

Your email address will not be published. Required fields are marked *