溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

分析函數(shù)改寫SQL

發(fā)布時間:2020-08-08 09:28:20 來源:ITPUB博客 閱讀:118 作者:wwjfeng 欄目:關(guān)系型數(shù)據(jù)庫

1.old sql:

SELECT a.object_id,
       a.object_name,
       b.max_id,
       b.min_id
  FROM HH a,
       (  SELECT owner, MAX (object_id) AS max_id, MIN (object_id) AS min_id
            FROM HH
        GROUP BY owner) b
 WHERE     a.last_ddl_time BETWEEN TO_DATE ('2010-01-01', 'yyyy-mm-dd')
                               AND TO_DATE ('2012-01-01', 'yyyy-mm-dd')
       AND a.owner IN ('MESDEV', 'RPTDEV')
       and a.owner=b.owner;


Elapsed: 00:00:25.50
Execution Plan
----------------------------------------------------------
-----------------------------------------------------------------
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)|
-----------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |     2 |   254 |   433   (2)|
|   1 |  HASH GROUP BY      |      |     2 |   254 |   433   (2)|
|   2 |   HASH JOIN         |      |     2 |   254 |   432   (1)|
|   3 |    TABLE ACCESS FULL| HH   |     2 |   194 |   216   (1)|
|   4 |    TABLE ACCESS FULL| HH   |   661 | 19830 |   216   (1)|
-----------------------------------------------------------------
Note
-----
   - 'PLAN_TABLE' is old version
Statistics
----------------------------------------------------------
          1  recursive calls
          0  db block gets
       1904  consistent gets
          0  physical reads
          0  redo size
     111609  bytes sent via SQL*Net to client
       2670  bytes received via SQL*Net from client
        200  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
       2977  rows processed

2.new sql

SELECT a.object_id,
       a.object_name,
       a.max_id,
       a.min_id
  FROM (SELECT object_id,
               object_name,
               last_ddl_time,
               MAX (object_id) OVER (PARTITION BY owner) AS max_id,
               MIN (object_id) OVER (PARTITION BY owner) AS min_id
          FROM HH
         WHERE owner IN ('MESDEV', 'RPTDEV')) a
 WHERE a.last_ddl_time BETWEEN TO_DATE ('2010-01-01', 'yyyy-mm-dd')
                           AND TO_DATE ('2012-01-01', 'yyyy-mm-dd');
Elapsed: 00:00:00.09
Execution Plan
----------------------------------------------------------
-----------------------------------------------------------------
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)|
-----------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |   661 | 75354 |   217   (2)|
|   1 |  VIEW               |      |   661 | 75354 |   217   (2)|
|   2 |   WINDOW SORT       |      |   661 | 64117 |   217   (2)|
|   3 |    TABLE ACCESS FULL| HH   |   661 | 64117 |   216   (1)|
-----------------------------------------------------------------
Note
-----
   - 'PLAN_TABLE' is old version
Statistics
----------------------------------------------------------
          1  recursive calls
          0  db block gets
        952  consistent gets
          0  physical reads
          0  redo size
     108149  bytes sent via SQL*Net to client
       2670  bytes received via SQL*Net from client
        200  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
       2977  rows processed


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI