一个表空间使用率查询sql的优化(一)

2015-11-21 01:35:13 · 作者: · 浏览: 22
话不多说,直接上执行计划:
SQL> set lines 500;
SQL> set pagesize 9999;
SQL> set long 9999;
SQL> select * from table(dbms_xplan.display_cursor('41348610',null,'advanced'));

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HASH_VALUE  41348610, child number 0
------------------------------------
 SELECT D.TABLESPACE_NAME,         SPACE "Total(M)",         SPACE -
NVL(FREE_SPACE, 0) "USED(M)",         ROUND((1 - NVL(FREE_SPACE, 0) /
SPACE) * 100, 2) "USED(%)",         FREE_SPACE "FREE(M)"    FROM
(SELECT TABLESPACE_NAME,                 ROUND(SUM(BYTES) / (1024 *
1024), 2) SPACE,                 SUM(BLOCKS) BLOCKS            FROM
DBA_DATA_FILES           GROUP BY TABLESPACE_NAME) D,         (SELECT
TABLESPACE_NAME,                 ROUND(SUM(BYTES) / (1024 * 1024), 2)
FREE_SPACE            FROM DBA_FREE_SPACE           GROUP BY
TABLESPACE_NAME) F   WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile  SELECT D.TABLESPACE_NAME,         SPACE
"Total(M)",         USED_SPACE "USED(M)",         ROUND(NVL(USED_SPACE,
0) / SPACE * 100, 2) "USED(%)",         NVL(FREE_SPACE, 0) "FREE(M)"
FROM (SELECT TABLESPACE_NAME,                 ROUND(SUM(BYTES) / (1024
* 1024), 2) SPACE,                 SUM(BLOCKS) BLOCKS            FROM
DBA_TEMP_FILES           GROUP BY T

Plan hash value: 3967328987

----------------------------------------------------------------------------------------------------------
| Id  | Operation                             | Name             | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                      |                  |       |       |    20 (100)|          |
|   1 |  SORT ORDER BY                        |                  |     3 |   178 |    19  (22)| 00:00:01 |
|   2 |   UNION-ALL                           |                  |       |       |            |          |
|*  3 |    HASH JOIN OUTER                    |                  |     2 |   120 |    16  (19)| 00:00:01 |
|   4 |     VIEW                              |                  |     2 |    60 |     5  (20)| 00:00:01 |
|   5 |      HASH GROUP BY                    |                  |     2 |    68 |     5  (20)| 00:00:01 |
|   6 |       VIEW                            | DBA_DATA_FILES   |     2 |    68 |     4   (0)| 00:00:01 |
|   7 |        UNION-ALL                      |                  |       |       |            |          |
|   8 |         NESTED LOOPS                  |                  |    
1 | 356 | 2 (0)| 00:00:01 | | 9 | NESTED LOOPS | | 1 | 341 | 1 (0)| 00:00:01 | | 10 | NESTED LOOPS | | 1 | 328 | 1 (0)| 00:00:01 | |* 11 | FIXED TABLE FULL | X$KCCFN | 1 | 310 | 0 (0)| | |* 12 | TABLE ACCESS BY INDEX ROWID| FILE$ | 1 | 18 | 1 (0)| 00:00:01 | |* 13 | INDEX UNIQUE SCAN | I_FILE1 | 1 | | 0 (0)| | |* 14 | FIXED TABLE FIXED INDEX | X$KCCFE (ind:1) | 20 | 260 | 0 (0)| | | 15 | TABLE ACCESS CLUSTER | TS$ | 1 | 15 | 1 (0)| 00:00:01 | |* 16 | INDEX UNIQUE SCAN | I_TS# | 1 | | 0 (0)| | | 17 | NESTED LOOPS | | 1 | 399 | 2 (0)| 00:00:01 | | 18 | NESTED LOOPS | | 1 | 386 | 2 (0)| 00:00:01 | | 19 | NESTED LOOPS | | 1 | 377 | 1 (0)| 00:00:01 | | 20 | NESTED LOOPS | | 1 | 362 | 0 (0)| | |* 21 | FIXED TABLE FULL | X$KCCFN | 1 | 310 | 0 (0)| | |* 22 | FIXED TABLE FIXED INDEX | X$KTFBHC (ind:1) | 1 | 52 | 0 (0)| | | 23 | TABLE ACCESS CLUSTER | TS$ | 1 | 15 | 1 (0)| 00:00:01 | |* 24 | INDEX UNIQUE SCAN | I_TS# | 1 | | 0 (0)| | |* 25 | TABLE ACCESS BY INDEX ROWID | FILE$ | 1 | 9 | 1 (0)| 00:00:01 | |* 26 | INDEX UNIQUE SCAN | I_FILE1 | 1 | | 0 (0)| | |* 27 | FIXED TABLE FIXED INDEX | X$KCCFE (ind:1) | 20 | 260 | 0 (0)| | | 28 | VIEW | | 5 | 150 | 11 (19)| 00:00:01 | | 29 | HASH GROUP BY | | 5 | 105 | 11 (19)| 00:00:01 | | 30 | VIEW | DBA_FREE_SPACE | 79 | 1659 | 10 (10)| 00:00:01 | | 31 | UNION-ALL | | | | | | | 32 | NESTED LOOPS | | 1 | 64 | 1 (0)| 00:00:01 | | 33 | NESTED LOOPS | | 1 | 45 | 1 (0)| 00:00:01 | | 34 | INDEX FULL SCAN | I_FILE2 | 5 | 30 | 1 (0)| 00:00:01 | |* 35 | TABLE ACCESS CLUSTER | FET$ | 1 | 39 | 0