亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1950 | 回復(fù): 1
打印 上一主題 下一主題

完成同一功能,分析函數(shù)的sql和沒有分析函數(shù)的sql執(zhí)行順序不同后結(jié)果不一樣? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-03-15 11:50 |只看該作者 |倒序?yàn)g覽
有分析函數(shù)的sql和沒有分析函數(shù)的sql執(zhí)行順序不同后得到的統(tǒng)計(jì)信息不一樣?
為什么?

--先執(zhí)行 沒有分析函數(shù)的sql 再 執(zhí)行有分析函數(shù)的sql 后的結(jié)果:

SQL> set autot traceonly ;
SQL> select a.OrderID,a.ServiceID,a.CompleteDate,b.SusType,nvl(b.OldStatus,0)
  2  from
  3   tabA a, tabB b where a.OrderID in ( select max(a.orderID)
  4    from tabA a,tabB b where a.serviceID>=1 and
  5    a.serviceID<10000000000 and a.CompleteDate<TO_DATE ('2007-03-05 00:00:00', 'yyyy-mm-dd hh24:mi:ss') and a.OrderType=
  6    '4' and a.OrderID=b.OrderID group by a.ServiceID,b.SusType ) and a.orderID=
  7    b.OrderID order by a.serviceID,a.OrderID;

177 rows selected.


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (ORDER BY)
   2    1     TABLE ACCESS (BY INDEX ROWID) OF 'TABB'
   3    2       NESTED LOOPS
   4    3         NESTED LOOPS
   5    4           VIEW OF 'VW_NSO_1'
   6    5             SORT (UNIQUE)
   7    6               SORT (GROUP BY)
   8    7                 TABLE ACCESS (BY INDEX ROWID) OF 'TABB'
   9    8                   NESTED LOOPS
  10    9                     TABLE ACCESS (BY INDEX ROWID) OF 'TABA'
  11   10                       INDEX (RANGE SCAN) OF 'TABA_IDX_SERVICEID' (NON-UNIQUE)
  12    9                     INDEX (RANGE SCAN) OF 'SUSPENSION_IDX_ORDID' (NON-UNIQUE)
  13    4           TABLE ACCESS (BY INDEX ROWID) OF 'TABA'
  14   13             INDEX (UNIQUE SCAN) OF 'PK_TABA' (UNIQUE)
  15    3         INDEX (RANGE SCAN) OF 'SUSPENSION_IDX_ORDID' (NON-UNIQUE)





Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
      19044  consistent gets
        213  physical reads
         68  redo size
       6780  bytes sent via SQL*Net to client
        773  bytes received via SQL*Net from client
         13  SQL*Net roundtrips to/from client
          3  sorts (memory)
          0  sorts (disk)
        177  rows processed


SQL>   SELECT   orderid, serviceid, completedate, sustype, oldstatus
  2      FROM (SELECT a.orderid, a.serviceid, a.completedate, b.sustype sustype,NVL (b.oldstatus, 0) oldstatus,
  3                   ROW_NUMBER () OVER (PARTITION BY a.serviceid, b.sustype ORDER BY a.orderid DESC) as pos
  4              FROM serviceorder a, suspensionorder b
  5             WHERE a.serviceid >= 1
  6               AND a.serviceid < 10000000000
  7               AND a.completedate < TO_DATE ('2007-03-05 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
  8               AND a.ordertype = '4'
  9               AND a.orderid = b.orderid)
10     WHERE pos = 1
11  ORDER BY serviceid, orderid;

177 rows selected.


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (ORDER BY)
   2    1     VIEW
   3    2       WINDOW (SORT PUSHED RANK)
   4    3         TABLE ACCESS (BY INDEX ROWID) OF 'TABB'
   5    4           NESTED LOOPS
   6    5             TABLE ACCESS (BY INDEX ROWID) OF 'TABA'
   7    6               INDEX (RANGE SCAN) OF 'TABA_IDX_SERVICEID' (NON-UNIQUE)
   8    5             INDEX (RANGE SCAN) OF 'SUSPENSION_IDX_ORDID' (NON-UNIQUE)





Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
      18680  consistent gets
          0  physical reads
          0  redo size
       6771  bytes sent via SQL*Net to client
        773  bytes received via SQL*Net from client
         13  SQL*Net roundtrips to/from client
          2  sorts (memory)
          0  sorts (disk)
        177  rows processed


--先執(zhí)行 有分析函數(shù)的sql 再執(zhí)行 沒有有分析函數(shù)的sql 后的結(jié)果:

SQL>  set autot traceonly;
SQL> SELECT   orderid, serviceid, completedate, sustype, oldstatus
  2          FROM (SELECT a.orderid, a.serviceid, a.completedate, b.sustype sustype,NVL (b.oldstatus, 0) oldstatus,
  3                   ROW_NUMBER () OVER (PARTITION BY a.serviceid, b.sustype ORDER BY a.orderid DESC) as pos
  4              FROM serviceorder a, suspensionorder b
  5                 WHERE a.serviceid >= 1
  6               AND a.serviceid < 10000000
  7               AND a.completedate < TO_DATE ('2007-03-05 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
  8               AND a.ordertype = '4'
  9                   AND a.orderid = b.orderid)
10     WHERE pos = 1
11  ORDER BY serviceid, orderid;

177 rows selected.


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (ORDER BY)
   2    1     VIEW
   3    2       WINDOW (SORT PUSHED RANK)
   4    3         TABLE ACCESS (BY INDEX ROWID) OF 'TABB'
   5    4           NESTED LOOPS
   6    5             TABLE ACCESS (BY INDEX ROWID) OF 'TABA'
   7    6               INDEX (RANGE SCAN) OF 'TABA_IDX_SERVICEID' (NON-UNIQUE)
   8    5             INDEX (RANGE SCAN) OF 'SUSPENSION_IDX_ORDID' (NON-UNIQUE)





Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
      18677  consistent gets
          0  physical reads
          0  redo size
       6771  bytes sent via SQL*Net to client
        773  bytes received via SQL*Net from client
         13  SQL*Net roundtrips to/from client
          2  sorts (memory)
          0  sorts (disk)
        177  rows processed


SQL> select a.OrderID,a.ServiceID,a.CompleteDate,b.SusType,nvl(b.OldStatus,0)
  2     from
  3   tabA a, tabB b where a.OrderID in ( select max(a.orderID)
  4    from tabA a,tabB b where a.serviceID>=1 and
  5        a.serviceID<10000000 and a.CompleteDate<TO_DATE ('2007-03-05 00:00:00', 'yyyy-mm-dd hh24:mi:ss') and a.OrderType=
  6    '4' and a.OrderID=b.OrderID group by a.ServiceID,b.SusType ) and a.orderID=
  7    b.OrderID order by a.serviceID,a.OrderID;  

177 rows selected.


Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE
   1    0   SORT (ORDER BY)
   2    1     TABLE ACCESS (BY INDEX ROWID) OF 'TABB'
   3    2       NESTED LOOPS
   4    3         NESTED LOOPS
   5    4           VIEW OF 'VW_NSO_1'
   6    5             SORT (UNIQUE)
   7    6               SORT (GROUP BY)
   8    7                 TABLE ACCESS (BY INDEX ROWID) OF 'TABB'
   9    8                   NESTED LOOPS
  10    9                     TABLE ACCESS (BY INDEX ROWID) OF 'TABA'
  11   10                       INDEX (RANGE SCAN) OF 'TABA_IDX_SERVICEID' (NON-UNIQUE)
  12    9                     INDEX (RANGE SCAN) OF 'SUSPENSION_IDX_ORDID' (NON-UNIQUE)
  13    4           TABLE ACCESS (BY INDEX ROWID) OF 'TABA'
  14   13             INDEX (UNIQUE SCAN) OF 'PK_TABA' (UNIQUE)
  15    3         INDEX (RANGE SCAN) OF 'SUSPENSION_IDX_ORDID' (NON-UNIQUE)





Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
      19034  consistent gets
          0  physical reads
          0  redo size
       6780  bytes sent via SQL*Net to client
        773  bytes received via SQL*Net from client
         13  SQL*Net roundtrips to/from client
          3  sorts (memory)
          0  sorts (disk)
        177  rows processed

SQL>

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2007-03-15 13:36 |只看該作者
當(dāng)你在choose模式優(yōu)化的時(shí)候,使用analyze分析以后執(zhí)行的速度要比沒有分析來的快,這是ORACLE自動(dòng)判斷。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP