您的位置:首页 > 数据库 > Oracle

oracle 回收站(recyclebin)引起的性能问题

2013-11-15 12:36 155 查看
    检查最近的数据库AWR报告,发现有一条系统的SQL非常慢,执行一次接近37s,把SQL弄出来执行了一下,发现问题出在回收站,回收站中有1万3千张表,清理之后,运行此条SQL只需要0.46s。我想影响的SQL不仅仅是这一条,相关调用数据字典的功能都会有好处。

10913336.491.94fk8ncdwta6fx2JDBC Thin ClientSELECT a.tablespace_name "Tabl...
SQL> set linesize 300

SQL> set autotrace traceonly

SQL> set timing on

SQL> SELECT a.tablespace_name "Tablespace_name",

  2         total "Total",

  3         free "Free",

  4         ROUND(free / total, 4) * 100 "%free"

  5    FROM (SELECT tablespace_name, SUM(bytes) free

  6            FROM DBA_FREE_SPACE

  7           GROUP BY tablespace_name) a,

  8         (SELECT tablespace_name, SUM(bytes) total

  9            FROM DBA_DATA_FILES

 10           GROUP BY tablespace_name) b

 11   WHERE a.tablespace_name = b.tablespace_name;

已选择7行。

已用时间:  00: 00: 34.50

执行计划

----------------------------------------------------------------------------------------------

| Id  | Operation                            | Name             | Rows  | Bytes | Cost (%CPU)|

----------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                     |                  |  1298 | 77880 |   171K(100)|

|   1 |  MERGE JOIN                          |                  |  1298 | 77880 |   171K(100)|

|   2 |   SORT JOIN                          |                  | 64916 |  1901K|   171K(100)|

|   3 |    VIEW                              |                  | 64916 |  1901K|   171K(100)|

|   4 |     HASH GROUP BY                    |                  | 64916 |  1901K|   171K(100)|

|   5 |      VIEW                            | DBA_FREE_SPACE   | 64916 |  1901K|   171K(100)|

|   6 |       UNION-ALL                      |                  |       |       |            |

|   7 |        NESTED LOOPS                  |                  |     1 |    63 |     4   (0)|

|   8 |         NESTED LOOPS                 |                  |     1 |    45 |     3   (0)|

|   9 |          TABLE ACCESS FULL           | FET$             |     1 |    39 |     3   (0)|

|  10 |          INDEX UNIQUE SCAN           | I_FILE2          |     1 |     6 |     0   (0)|

|  11 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    18 |     1   (0)|

|  12 |        NESTED LOOPS                  |                  |    82 |  5658 |     4   (0)|

|  13 |         NESTED LOOPS                 |                  |    82 |  5166 |     4   (0)|

|  14 |          TABLE ACCESS FULL           | TS$              |     7 |   168 |     4   (0)|

|  15 |          FIXED TABLE FIXED INDEX     | X$KTFBFE (ind:1) |    13 |   507 |     0   (0)|

|  16 |         INDEX UNIQUE SCAN            | I_FILE2          |     1 |     6 |     0   (0)|

|  17 |        NESTED LOOPS                  |                  | 64832 |  6774K|   171K(100)|

|  18 |         NESTED LOOPS                 |                  | 91493 |  9024K|   171K(100)|

|  19 |          HASH JOIN                   |                  | 13456 |   473K|   107   (1)|

|  20 |           TABLE ACCESS FULL          | RECYCLEBIN$      | 14707 |   172K|   103   (1)|

|  21 |           TABLE ACCESS FULL          | TS$              |     7 |   168 |     4   (0)|

|  22 |          FIXED TABLE FIXED INDEX     | X$KTFBUE (ind:1) |     7 |   455 |    13 (100)|

|  23 |         INDEX UNIQUE SCAN            | I_FILE2          |     1 |     6 |     0   (0)|

|  24 |        NESTED LOOPS                  |                  |     1 |    88 |    16   (0)|

|  25 |         NESTED LOOPS                 |                  |     1 |    70 |    15   (0)|

|  26 |          NESTED LOOPS                |                  |     1 |    58 |    14   (0)|

|  27 |           TABLE ACCESS FULL          | UET$             |     1 |    52 |    14   (0)|

|  28 |           INDEX UNIQUE SCAN          | I_FILE2          |     1 |     6 |     0   (0)|

|  29 |          TABLE ACCESS BY INDEX ROWID | RECYCLEBIN$      |     1 |    12 |     1   (0)|

|  30 |           INDEX RANGE SCAN           | RECYCLEBIN$_TS   |  7354 |       |     1   (0)|

|  31 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    18 |     1   (0)|

|  32 |          INDEX UNIQUE SCAN           | I_TS#            |     1 |       |     0   (0)|

|  33 |   SORT JOIN                          |                  |     2 |    60 |     6  (34)|

|  34 |    VIEW                              |                  |     2 |    60 |     5  (20)|

|  35 |     HASH GROUP BY                    |                  |     2 |    60 |     5  (20)|

|  36 |      VIEW                            | DBA_DATA_FILES   |     2 |    60 |     4   (0)|

|  37 |       UNION-ALL                      |                  |       |       |            |

|  38 |        NESTED LOOPS                  |                  |     1 |   356 |     2   (0)|

|  39 |         NESTED LOOPS                 |                  |     1 |   342 |     1   (0)|

|  40 |          NESTED LOOPS                |                  |     1 |   329 |     1   (0)|

|  41 |           FIXED TABLE FULL           | X$KCCFN          |     1 |   310 |     0   (0)|

|  42 |           TABLE ACCESS BY INDEX ROWID| FILE$            |     1 |    19 |     1   (0)|

|  43 |            INDEX UNIQUE SCAN         | I_FILE1          |     1 |       |     0   (0)|

|  44 |          FIXED TABLE FIXED INDEX     | X$KCCFE (ind:1)  |     4 |    52 |     0   (0)|

|  45 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    14 |     1   (0)|

|  46 |          INDEX UNIQUE SCAN           | I_TS#            |     1 |       |     0   (0)|

|  47 |        NESTED LOOPS                  |                  |     1 |   399 |     2   (0)|

|  48 |         NESTED LOOPS                 |                  |     1 |   385 |     1   (0)|

|  49 |          NESTED LOOPS                |                  |     1 |   372 |     1   (0)|

|  50 |           NESTED LOOPS               |                  |     1 |   362 |     0   (0)|

|  51 |            FIXED TABLE FULL          | X$KCCFN          |     1 |   310 |     0   (0)|

|  52 |            FIXED TABLE FIXED INDEX   | X$KTFBHC (ind:1) |     1 |    52 |     0   (0)|

|  53 |           TABLE ACCESS BY INDEX ROWID| FILE$            |     1 |    10 |     1   (0)|

|  54 |            INDEX UNIQUE SCAN         | I_FILE1          |     1 |       |     0   (0)|

|  55 |          FIXED TABLE FIXED INDEX     | X$KCCFE (ind:1)  |     4 |    52 |     0   (0)|

|  56 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    14 |     1   (0)|

|  57 |          INDEX UNIQUE SCAN           | I_TS#            |     1 |       |     0   (0)|

----------------------------------------------------------------------------------------------

Note

-----

   - 'PLAN_TABLE' is old version

统计信息

----------------------------------------------------------

     344711  recursive calls

        316  db block gets

      65610  consistent gets

      15018  physical reads

          0  redo size

        496  bytes sent via SQL*Net to client

        239  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client

          2  sorts (memory)

          0  sorts (disk)

          7  rows processed

执行purge recyclebin; 后

SQL> /

已选择7行。

已用时间:  00: 00: 00.46

执行计划

----------------------------------------------------------------------------------------------

| Id  | Operation                            | Name             | Rows  | Bytes | Cost (%CPU)|

----------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                     |                  |  1298 | 77880 |   171K(100)|

|   1 |  MERGE JOIN                          |                  |  1298 | 77880 |   171K(100)|

|   2 |   SORT JOIN                          |                  | 64916 |  1901K|   171K(100)|

|   3 |    VIEW                              |                  | 64916 |  1901K|   171K(100)|

|   4 |     HASH GROUP BY                    |                  | 64916 |  1901K|   171K(100)|

|   5 |      VIEW                            | DBA_FREE_SPACE   | 64916 |  1901K|   171K(100)|

|   6 |       UNION-ALL                      |                  |       |       |            |

|   7 |        NESTED LOOPS                  |                  |     1 |    63 |     4   (0)|

|   8 |         NESTED LOOPS                 |                  |     1 |    45 |     3   (0)|

|   9 |          TABLE ACCESS FULL           | FET$             |     1 |    39 |     3   (0)|

|  10 |          INDEX UNIQUE SCAN           | I_FILE2          |     1 |     6 |     0   (0)|

|  11 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    18 |     1   (0)|

|  12 |        NESTED LOOPS                  |                  |    82 |  5658 |     4   (0)|

|  13 |         NESTED LOOPS                 |                  |    82 |  5166 |     4   (0)|

|  14 |          TABLE ACCESS FULL           | TS$              |     7 |   168 |     4   (0)|

|  15 |          FIXED TABLE FIXED INDEX     | X$KTFBFE (ind:1) |    13 |   507 |     0   (0)|

|  16 |         INDEX UNIQUE SCAN            | I_FILE2          |     1 |     6 |     0   (0)|

|  17 |        NESTED LOOPS                  |                  | 64832 |  6774K|   171K(100)|

|  18 |         NESTED LOOPS                 |                  | 91493 |  9024K|   171K(100)|

|  19 |          HASH JOIN                   |                  | 13456 |   473K|   107   (1)|

|  20 |           TABLE ACCESS FULL          | RECYCLEBIN$      | 14707 |   172K|   103   (1)|

|  21 |           TABLE ACCESS FULL          | TS$              |     7 |   168 |     4   (0)|

|  22 |          FIXED TABLE FIXED INDEX     | X$KTFBUE (ind:1) |     7 |   455 |    13 (100)|

|  23 |         INDEX UNIQUE SCAN            | I_FILE2          |     1 |     6 |     0   (0)|

|  24 |        NESTED LOOPS                  |                  |     1 |    88 |    16   (0)|

|  25 |         NESTED LOOPS                 |                  |     1 |    70 |    15   (0)|

|  26 |          NESTED LOOPS                |                  |     1 |    58 |    14   (0)|

|  27 |           TABLE ACCESS FULL          | UET$             |     1 |    52 |    14   (0)|

|  28 |           INDEX UNIQUE SCAN          | I_FILE2          |     1 |     6 |     0   (0)|

|  29 |          TABLE ACCESS BY INDEX ROWID | RECYCLEBIN$      |     1 |    12 |     1   (0)|

|  30 |           INDEX RANGE SCAN           | RECYCLEBIN$_TS   |  7354 |       |     1   (0)|

|  31 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    18 |     1   (0)|

|  32 |          INDEX UNIQUE SCAN           | I_TS#            |     1 |       |     0   (0)|

|  33 |   SORT JOIN                          |                  |     2 |    60 |     6  (34)|

|  34 |    VIEW                              |                  |     2 |    60 |     5  (20)|

|  35 |     HASH GROUP BY                    |                  |     2 |    60 |     5  (20)|

|  36 |      VIEW                            | DBA_DATA_FILES   |     2 |    60 |     4   (0)|

|  37 |       UNION-ALL                      |                  |       |       |            |

|  38 |        NESTED LOOPS                  |                  |     1 |   356 |     2   (0)|

|  39 |         NESTED LOOPS                 |                  |     1 |   342 |     1   (0)|

|  40 |          NESTED LOOPS                |                  |     1 |   329 |     1   (0)|

|  41 |           FIXED TABLE FULL           | X$KCCFN          |     1 |   310 |     0   (0)|

|  42 |           TABLE ACCESS BY INDEX ROWID| FILE$            |     1 |    19 |     1   (0)|

|  43 |            INDEX UNIQUE SCAN         | I_FILE1          |     1 |       |     0   (0)|

|  44 |          FIXED TABLE FIXED INDEX     | X$KCCFE (ind:1)  |     4 |    52 |     0   (0)|

|  45 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    14 |     1   (0)|

|  46 |          INDEX UNIQUE SCAN           | I_TS#            |     1 |       |     0   (0)|

|  47 |        NESTED LOOPS                  |                  |     1 |   399 |     2   (0)|

|  48 |         NESTED LOOPS                 |                  |     1 |   385 |     1   (0)|

|  49 |          NESTED LOOPS                |                  |     1 |   372 |     1   (0)|

|  50 |           NESTED LOOPS               |                  |     1 |   362 |     0   (0)|

|  51 |            FIXED TABLE FULL          | X$KCCFN          |     1 |   310 |     0   (0)|

|  52 |            FIXED TABLE FIXED INDEX   | X$KTFBHC (ind:1) |     1 |    52 |     0   (0)|

|  53 |           TABLE ACCESS BY INDEX ROWID| FILE$            |     1 |    10 |     1   (0)|

|  54 |            INDEX UNIQUE SCAN         | I_FILE1          |     1 |       |     0   (0)|

|  55 |          FIXED TABLE FIXED INDEX     | X$KCCFE (ind:1)  |     4 |    52 |     0   (0)|

|  56 |         TABLE ACCESS CLUSTER         | TS$              |     1 |    14 |     1   (0)|

|  57 |          INDEX UNIQUE SCAN           | I_TS#            |     1 |       |     0   (0)|

----------------------------------------------------------------------------------------------

Note

-----

   - 'PLAN_TABLE' is old version

统计信息

----------------------------------------------------------

      19073  recursive calls

        308  db block gets

       5429  consistent gets

        826  physical reads

          0  redo size

        514  bytes sent via SQL*Net to client

        239  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client

          2  sorts (memory)

          0  sorts (disk)

          7  rows processed
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: