Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Slow USER_SEGMENTS query

Re: Slow USER_SEGMENTS query

From: <genegurevich_at_discoverfinancial.com>
Date: Tue, 12 Dec 2006 10:41:45 -0600
Message-ID: <OFE533E8E1.9753CFAA-ON86257242.005B677F-86257242.005BB4E6@discoverfinancial.com>


This may or may not be relevant, but I ran into performance issues with DBA_EXTENTS in oracle 10.2.0.2 and
Oracle recommended another syntax for creating that view. You may be experiencing the same issue but with
a different view. Oracle support may be able to recommend an alternative syntax for user_segments as well.

thank you

Gene Gurevich

                                                                           
             "Khemmanivanh,                                                
             Somckit"                                                      
             <somckit.khemmani                                          To 
             vanh_at_weyerhaeuser         "oracle-l" <oracle-l_at_freelists.org> 
             .com>                                                      cc 
             Sent by:                                                      
             oracle-l-bounce_at_f                                     Subject 
             reelists.org              Slow USER_SEGMENTS query            
                                                                           
                                                                           
             12/11/2006 01:47                                              
             PM                                                            
                                                                           
                                                                           
             Please respond to                                             
             somckit.khemmaniv                                             
             anh_at_weyerhaeuser.                                             
                    com                                                    
                                                                           
                                                                           





Hi,

This is Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit release.

Has anyone seen performance issues with queries to user_segments?

I have updated dictionary stats for the sys user -- this did not help.

I have created a static copy of user_segments and pointed to it with a synonym. That helped somewhat but the runtime is still not great.

Would a 10046 trace help find the culprit? Is this a bug?

Below is the query and plan:

SELECT   NVL(SUM(BYTES), -1) FROM   "USER_SEGMENTS" WHERE   SEGMENT_NAME = :A0 OR SEGMENT_NAME IN (SELECT SEGMENT_NAME FROM USER_LOBS WHERE TABLE_NAME = :A1 )  SELECT STATEMENT ( Estimated Costs = 4,157 , Estimated #Rows = 0 )

     5 98 SORT AGGREGATE          5 97 FILTER              5 43 VIEW SYS_USER_SEGS

                   ( Estim. Costs = 4,157 , Estim. #Rows = 6,681 )



                 5  42 UNION-ALL



                     5  28 NESTED LOOPS

                           ( Estim. Costs = 3,422 , Estim. #Rows = 219 )



                         5  25 NESTED LOOPS


( Estim. Costs = 3,378 , Estim. #Rows =
219 )
                             5  22 NESTED LOOPS

                                   ( Estim. Costs = 3,200 , Estim. #Rows
= 889 )
                                    1 TABLE ACCESS FULL OBJ$

                                      ( Estim. Costs = 309 , Estim.
#Rows = 28,911 )
                                 5  21 VIEW SYS_OBJECTS



                                     5  20 UNION-ALL PARTITION



                                         5  3 TABLE ACCESS CLUSTER TAB$



                                                2 INDEX UNIQUE SCAN
I_OBJ#
                                                  Search Columns: 1



                                         5  5 TABLE ACCESS BY INDEX
ROWID TABPART$
                                                4 INDEX UNIQUE SCAN
I_TABPART_OBJ$
                                                  Search Columns: 1



                                         5  7 TABLE ACCESS CLUSTER CLU$



                                                6 INDEX UNIQUE SCAN
I_OBJ#
                                                  Search Columns: 1



                                         5  9 TABLE ACCESS BY INDEX
ROWID IND$
                                                8 INDEX UNIQUE SCAN
I_IND1
                                                  Search Columns: 1



                                         5  11 TABLE ACCESS BY INDEX
ROWID INDPART$
                                                10 INDEX UNIQUE SCAN
I_INDPART_OBJ$
                                                   Search Columns: 1



                                         5  13 TABLE ACCESS BY INDEX
ROWID LOB$
                                                12 INDEX UNIQUE SCAN
I_LOB2
                                                   Search Columns: 1



                                         5  15 TABLE ACCESS BY INDEX
ROWID TABSUBPART$
                                                14 INDEX UNIQUE SCAN
I_TABSUBPART$_OBJ$
                                                   Search Columns: 1



                                         5  17 TABLE ACCESS BY INDEX
ROWID INDSUBPART$
                                                16 INDEX UNIQUE SCAN
I_INDSUBPART_OBJ$
                                                   Search Columns: 1



                                         5  19 TABLE ACCESS BY INDEX
ROWID LOBFRAG$
                                                18 INDEX UNIQUE SCAN
I_LOBFRAG$_FRAGOBJ$
                                                   Search Columns: 1



                             5  24 TABLE ACCESS CLUSTER SEG$



                                    23 INDEX UNIQUE SCAN I_FILE#_BLOCK#

                                       Search Columns: 3



                         5  27 TABLE ACCESS CLUSTER TS$



                                26 INDEX UNIQUE SCAN I_TS#

                                   Search Columns: 1



                     5  35 NESTED LOOPS

                           ( Estim. Costs = 24 , Estim. #Rows = 1 )



                         5  32 NESTED LOOPS


( Estim. Costs = 23 , Estim. #Rows = 1 )
29 TABLE ACCESS FULL UNDO$ ( Estim. Costs = 2 , Estim. #Rows = 107 ) 5 31 TABLE ACCESS CLUSTER SEG$ 30 INDEX UNIQUE SCAN I_FILE#_BLOCK# Search Columns: 3 5 34 TABLE ACCESS CLUSTER TS$ 33 INDEX UNIQUE SCAN I_TS# Search Columns: 1 5 41 HASH JOIN ( Estim. Costs = 711 , Estim. #Rows = 6,461 ) Memory Used KB: 1,512,448 36 TABLE ACCESS FULL TS$
( Estim. Costs = 22 , Estim. #Rows = 46 )
5 40 NESTED LOOPS
( Estim. Costs = 688 , Estim. #Rows =
6,461 )
                                37 TABLE ACCESS FULL FILE$

                                   ( Estim. Costs = 2 , Estim. #Rows =
343 )
                             5  39 TABLE ACCESS CLUSTER SEG$

                                   ( Estim. Costs = 2 , Estim. #Rows =
19 )
                                    38 INDEX RANGE SCAN I_FILE#_BLOCK#

                                       Search Columns: 2



             5  96 VIEW USER_LOBS

                   ( Estim. Costs = 5 , Estim. #Rows = 2 )



                 5  95 UNION-ALL



                     5  71 NESTED LOOPS OUTER

                           ( Estim. Costs = 1 , Estim. #Rows = 1 )



                         5  68 NESTED LOOPS


( Estim. Costs = 1 , Estim. #Rows = 1 )
5 65 NESTED LOOPS ( Estim. Costs = 1 , Estim. #Rows = 1
)
                                 5  63 NESTED LOOPS

                                       ( Estim. Costs = 1 , Estim. #Rows
= 1 )
                                     5  60 NESTED LOOPS

                                           ( Estim. Costs = 1 , Estim.
#Rows = 1 )
                                         5  57 NESTED LOOPS OUTER

                                               ( Estim. Costs = 1 ,
Estim. #Rows = 1 )
                                             5  55 NESTED LOOPS
                                                   ( Estim. Costs = 1 ,
Estim. #Rows = 1 )
                                                 5  52 MERGE JOIN
CARTESIAN
                                                       ( Estim. Costs =
1 , Estim. #Rows = 1 )
                                                     5  48 NESTED LOOPS



                                                         5  45 TABLE
ACCESS CLUSTER USER$
                                                                44 INDEX
UNIQUE SCAN I_USER# Search Columns: 1
                                                         5  47 TABLE
ACCESS CLUSTER TS$
                                                                46 INDEX
UNIQUE SCAN I_TS# Search Columns: 1
                                                     5  51 BUFFER SORT

                                                           Memory Used
KB: 8,192
                                                         5  50 TABLE
ACCESS BY INDEX ROWID OBJ$
                                                                49 INDEX
RANGE SCAN I_OBJ2 Search Columns: 2
                                                 5  54 TABLE ACCESS
CLUSTER COL$
                                                        53 INDEX UNIQUE
SCAN I_OBJ#
                                                           Search
Columns: 1
                                                56 INDEX UNIQUE SCAN
I_ATTRCOL1
                                                   Search Columns: 2



                                         5  59 TABLE ACCESS CLUSTER LOB$



                                                58 INDEX UNIQUE SCAN
I_OBJ#
                                                   Search Columns: 1



                                     5  62 TABLE ACCESS BY INDEX ROWID
OBJ$
                                            61 INDEX UNIQUE SCAN I_OBJ1

                                               Search Columns: 1



                                    64 INDEX UNIQUE SCAN I_OBJ1

                                       Search Columns: 1



                             5  67 TABLE ACCESS CLUSTER TAB$



                                    66 INDEX UNIQUE SCAN I_OBJ#

                                       Search Columns: 1



                         5  70 TABLE ACCESS CLUSTER TS$



                                69 INDEX UNIQUE SCAN I_TS#

                                   Search Columns: 1



                     5  94 NESTED LOOPS OUTER

                           ( Estim. Costs = 3 , Estim. #Rows = 1 )



                         5  91 NESTED LOOPS


( Estim. Costs = 3 , Estim. #Rows = 1 )
5 88 NESTED LOOPS ( Estim. Costs = 2 , Estim. #Rows = 1
)
                                 5  85 NESTED LOOPS

                                       ( Estim. Costs = 2 , Estim. #Rows
= 1 )
                                     5  83 NESTED LOOPS
                                          ( Estim. Costs = 2 , Estim.
#Rows = 1 )
                                        5  80 NESTED LOOPS OUTER

                                              ( Estim. Costs = 2 ,
Estim. #Rows = 1 )
                                            5  78 NESTED LOOPS

                                                  ( Estim. Costs = 2 ,
Estim. #Rows = 1 )
                                                5  75 NESTED LOOPS

                                                      ( Estim. Costs = 2
, Estim. #Rows = 1 )
                                                       72 TABLE ACCESS
FULL PARTLOB$
                                                          ( Estim. Costs
= 2 , Estim. #Rows = 1 )
                                                    5  74 TABLE ACCESS
BY INDEX ROWID LOB$
                                                           73 INDEX
UNIQUE SCAN I_LOB2
                                                              Search
Columns: 1
                                                5  77 TABLE ACCESS
CLUSTER COL$
                                                       76 INDEX UNIQUE
SCAN I_OBJ#
                                                          Search
Columns: 1
                                               79 INDEX UNIQUE SCAN
I_ATTRCOL1
                                                  Search Columns: 2



                                        5  82 TABLE ACCESS BY INDEX
ROWID OBJ$
                                               81 INDEX UNIQUE SCAN
I_OBJ1
                                                  Search Columns: 1



                                       84 INDEX UNIQUE SCAN I_OBJ1

                                          Search Columns: 1



                                5  87 TABLE ACCESS BY INDEX ROWID OBJ$



                                        86 INDEX UNIQUE SCAN I_OBJ1

                                           Search Columns: 1



                             5  90 TABLE ACCESS CLUSTER TAB$



                                    89 INDEX UNIQUE SCAN I_OBJ#

                                       Search Columns: 1



                         5  93 TABLE ACCESS CLUSTER TS$



                                92 INDEX UNIQUE SCAN I_TS#

                                   Search Columns: 1
















--
http://www.freelists.org/webpage/oracle-l






--
http://www.freelists.org/webpage/oracle-l
Received on Tue Dec 12 2006 - 10:41:45 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US