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: Khemmanivanh, Somckit <somckit.khemmanivanh_at_weyerhaeuser.com>
Date: Tue, 12 Dec 2006 16:56:48 -0800
Message-ID: <65C0D8935651CB4D96E97CEFAC5A12B9038D1AB5@wafedixm10.corp.weyer.pri>

Thanks, I was hoping for some hints before going to OSS..any other insights?

Here's a tkprof output:

SELECT
NVL(BYTES,-1) FROM USER_SEGMENTS
WHERE SEGMENT_NAME = 'mytab'
OR SEGMENT_NAME IN
(SELECT SEGMENT_NAME FROM USER_LOBS WHERE TABLE_NAME = 'mytab')

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ----------



Parse 1 0.46 0.64 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 5.11 12.79 468 322674 0 0
------- ------ -------- ---------- ---------- ---------- ----------


total 3 5.57 13.43 468 322674 0 0

Thanks!
-----Original Message-----

From: genegurevich_at_discoverfinancial.com [mailto:genegurevich_at_discoverfinancial.com] Sent: Tuesday, December 12, 2006 8:42 AM To: Khemmanivanh, Somckit
Cc: oracle-l
Subject: Re: Slow USER_SEGMENTS query

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 - 18:56:48 CST

Original text of this message

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