婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oracle下一條SQL語句的優化過程(比較詳細)

oracle下一條SQL語句的優化過程(比較詳細)

熱門標簽:北京外呼系統公司排名 百度地圖標注員是干什么 貴陽智能電銷機器人官網 外呼系統鄭州 地圖標注付款了怎么找不到了 北京營銷外呼系統廠家 溫州人工外呼系統 外呼系統口號 沈陽400電話是如何辦理
原來的語句是這樣的:

  select sum(sl0000) from xstfxps2 where
  dhao00 in (
  select dhao00 from xstfxps1 where trunc(ywrq00)=trunc(sysdate)
  and khdm00='500000003913');
  已用時間: 00: 02: 49.04
  
  Execution Plan
  ----------------------------------------------------------
  0 SELECT STATEMENT Optimizer=CHOOSE
  1 0 SORT (AGGREGATE)
  2 1 NESTED LOOPS
  3 2 TABLE ACCESS (FULL) OF 'XSTFXPS2'
  4 2 TABLE ACCESS (BY INDEX ROWID) OF 'XSTFXPS1'
  5 4 INDEX (UNIQUE SCAN) OF 'XSTFXPS1_PK' (UNIQUE)
  
  Statistics
  ----------------------------------------------------------
  0 recursive calls
  0 db block gets
  17355138 consistent gets
  34141 physical reads
  2912 redo size
  198 bytes sent via SQL*Net to client
  275 bytes received via SQL*Net from client
  2 SQL*Net roundtrips to/from client
  0 sorts (memory)
  0 sorts (disk)
  1 rows processed
  我們看到統計信息里面進行了17355138次邏輯讀,34141次物理IO,這是相當嚇人的數字。在執行計劃里面我們看到表XSTFXPS2來了一次全表掃描。
  我們首先看一下這兩張表總的數據量:
  SQL> select count(*) from xstfxps2;
  
  COUNT(*)
  ----------
  5585018
  我們這里看到XSTFXPS2這張表有5585018條記錄。
  SQL> select count(*) from xstfxps1;
  
  COUNT(*)
  ----------
  702121
  兩張表的表結構如下所示:
  SQL> desc xstfxps1
  Name Type Nullable Default Comments
  ------ ------------ -------- ------- --------
  DHAO00 NUMBER(8)
  LHDH00 NUMBER(8) Y
  FLDH00 NUMBER(8) Y
  FPLB00 VARCHAR2(2) Y
  YWRQ00 DATE Y
  YWRY00 VARCHAR2(8) Y
  SHRQ00 DATE Y
  XSQRRQ DATE Y
  XSQRRY VARCHAR2(8) Y
  KHDM00 VARCHAR2(12)
  XKZH00 VARCHAR2(12)
  CKDM00 VARCHAR2(2) Y
  THCKDM VARCHAR2(2) Y
  XSFSDM VARCHAR2(2) Y
  FXRYDM VARCHAR2(4) Y
  SHRYDM VARCHAR2(4) Y
  SHBJ00 VARCHAR2(1) 'N'
  FXBJ00 VARCHAR2(1) 'N'
  SKBJ00 VARCHAR2(2) Y
  FKDM00 VARCHAR2(2) Y
  
  SQL> desc xstfxps2
  Name Type Nullable Default Comments
  ------ ------------ -------- ------- --------
  DHAO00 NUMBER(8)
  SPDM00 VARCHAR2(8)
  DJIA00 NUMBER(7,2) 0
  FXSL00 NUMBER Y 0
  SL0000 NUMBER Y 0
  THSL00 NUMBER Y 0
  JE0000 NUMBER Y 0
  SE0000 NUMBER Y
  FPBBH0 VARCHAR2(11) Y
  FPHAO0 VARCHAR2(10) Y
  RBDH00 NUMBER(8) Y
  
  其中XSTFXPS1的客戶訂單的表頭,保存訂單的客戶信息、訂貨日期等信息。XSTFXPS2是訂單的表體,詳細記錄了客戶訂單的商品、價格、數量等信息。
  
  調整的第一步是把子查詢提取出來,再看語句的執行計劃。通常來說,如果語句能夠避免子查詢的使用,就盡量不用子查詢。因為子查詢的開銷是相當昂貴的。改寫后的語句如下:
  select sum(sl0000)
  from xstfxps2 a,(select dhao00 from xstfxps1 where trunc(ywrq00)=trunc(sysdate)
  and khdm00='500000003913') b
  where a.dhao00=b.dhao00;
  已用時間: 00: 00: 03.05
  Execution Plan
  ----------------------------------------------------------
  0 SELECT STATEMENT Optimizer=CHOOSE
  1 0 SORT (AGGREGATE)
  2 1 TABLE ACCESS (BY INDEX ROWID) OF 'XSTFXPS2'
  3 2 NESTED LOOPS
  4 3 TABLE ACCESS (FULL) OF 'XSTFXPS1'
  5 3 INDEX (RANGE SCAN) OF 'XSTFXPS2_PK' (UNIQUE)
  Statistics
  ----------------------------------------------------------
  0 recursive calls
  0 db block gets
  11974 consistent gets
  225 physical reads
  832 redo size
  211 bytes sent via SQL*Net to client
  275 bytes received via SQL*Net from client
  2 SQL*Net roundtrips to/from client
  0 sorts (memory)
  0 sorts (disk)
  1 rows processed
  
  我們可以看到邏輯IO由原來的17355138次下降到11974次,有了數量級的提升。執行時間也有原來將近3分鐘下降到現在的3秒多一些。很顯然性能有了大幅的提升。不過我們看到執行計劃里面表XSTFXPS1還是有一個全表掃描存在。通常來說我們應該盡量避免全表掃描的存在,尤其對于大表,應該建立合適的索引以避免FTS的產生。我們來看這兩張表的索引信息:
  
  select index_name,column_name from dba_ind_columns where table_name like 'XSTFXPS%'
  INDEX_NAME COLUMN_NAME
  ------------------------------ -----------------------------------
  XSTFXPS1_PK DHAO00
  XSTFXPS2_PK DHAO00
  XSTFXPS2_PK SPDM00
  
  我們看到這兩張表除了主鍵約束外都沒有建另外的索引。根據語句的查詢情況,我們建立了如下的復合索引:
  create index idx_xstfxps1_khdm00_ywrq00 on xstfxps1(khdm00,ywrq00) tablespace indx;
  
  為了使用索引,我們必須對原來的日期字段的條件進行一些調整。因為有個trunc()函數的存在,語句將不會使用到索引。我們只要明白trunc(ywrq00)=trunc(sysdate)事實上等同于ywrq00大于trunc(sysdate),小于trunc(sysdate+1)減去一秒,我們就有了比較好的辦法來處理
  這個條件。最終改寫后的語句如下:
  select sum(sl0000)
  from xstfxps2 a, xstfxps1 b
  where a.dhao00=b.dhao00
  and b.khdm00='500000003913'
  and b.ywrq00 between trunc(sysdate)
  and trunc(sysdate)+1-1/(24*60*60);
  Execution Plan
  ----------------------------------------------------------
  0 SELECT STATEMENT Optimizer=CHOOSE
  1 0 SORT (AGGREGATE)
  2 1 TABLE ACCESS (BY INDEX ROWID) OF 'XSTFXPS2'
  3 2 NESTED LOOPS
  4 3 TABLE ACCESS (BY INDEX ROWID) OF 'XSTFXPS1'
  5 4 INDEX (RANGE SCAN) OF 'IDX_XSTFXPS1_KHDM00_YWRQ00'
  (NON-UNIQUE)
  
  6 3 INDEX (RANGE SCAN) OF 'XSTFXPS2_PK' (UNIQUE)
  Statistics
  ----------------------------------------------------------
  0 recursive calls
  0 db block gets
  3 consistent gets
  0 physical reads
  0 redo size
  210 bytes sent via SQL*Net to client
  275 bytes received via SQL*Net from client
  2 SQL*Net roundtrips to/from client
  0 sorts (memory)
  0 sorts (disk)
  1 rows processed
  我們這時候看邏輯IO已經降為3次,語句的執行計劃也符合我們的調整目標,創建的索引產生了比較大的效果。這條語句的調整至此告一段落。
您可能感興趣的文章:
  • oracle 性能優化建議小結
  • Oracle性能究極優化
  • Oracle性能究極優化 下
  • Oracle之SQL語句性能優化(34條優化方法)
  • Oracle 查詢優化的基本準則詳解
  • Oracle 數據庫優化實戰心得總結
  • oracle數據庫sql的優化總結
  • Oracle性能究極優化(Oracle 性能優化)
  • Oracle SQL性能優化系列學習一
  • Linux中大內存頁Oracle數據庫優化的方法

標簽:溫州 衢州 通遼 包頭 淮北 潮州 衡水 定西

巨人網絡通訊聲明:本文標題《oracle下一條SQL語句的優化過程(比較詳細)》,本文關鍵詞  oracle,下,一條,SQL,語句,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle下一條SQL語句的優化過程(比較詳細)》相關的同類信息!
  • 本頁收集關于oracle下一條SQL語句的優化過程(比較詳細)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲人成电影网站色mp4| 国产精品欧美一级免费| 亚洲欧美日韩久久| 91精品国产综合久久精品麻豆 | 欧美大白屁股肥臀xxxxxx| 欧美日韩免费电影| 欧美亚洲一区二区在线观看| 色综合久久久久久久| 91麻豆.com| 色偷偷久久一区二区三区| av网站一区二区三区| 99精品黄色片免费大全| av一区二区三区四区| 日本道色综合久久| 成人av综合在线| 99国产精品视频免费观看| 色av一区二区| 69堂国产成人免费视频| 日韩一区二区视频在线观看| 精品va天堂亚洲国产| 欧美激情在线观看视频免费| 亚洲日本丝袜连裤袜办公室| 亚洲中国最大av网站| 日韩制服丝袜av| 亚洲精品国产a久久久久久| 五月激情六月综合| 激情综合网最新| 国产成人av电影在线观看| 成人爱爱电影网址| 欧美日本免费一区二区三区| 欧美一级一区二区| 中文字幕va一区二区三区| 久久亚洲捆绑美女| 欧美电影免费观看高清完整版在线 | 久久婷婷成人综合色| 国产精品天干天干在观线| 樱桃视频在线观看一区| 美女被吸乳得到大胸91| 处破女av一区二区| 欧美三级韩国三级日本三斤 | 日韩毛片视频在线看| 日韩国产欧美在线播放| 国产91在线观看丝袜| 欧美日韩一级二级三级| 精品成人佐山爱一区二区| 亚洲欧美一区二区视频| 肉肉av福利一精品导航| 成人免费的视频| 欧美日韩aaa| 中文字幕中文乱码欧美一区二区| 亚洲精品国久久99热| 国产电影精品久久禁18| 欧美丝袜丝nylons| 国产精品伦理一区二区| 日本成人在线看| 91美女在线视频| 久久中文娱乐网| 日韩福利电影在线观看| 99精品热视频| 中文字幕av不卡| 久久97超碰色| 欧美日韩在线一区二区| 国产精品灌醉下药二区| 狠狠色伊人亚洲综合成人| 欧美三日本三级三级在线播放| 亚洲国产精品黑人久久久| 一区二区三区四区激情| 天堂资源在线中文精品| 国产一区二区三区久久久 | 午夜精品久久一牛影视| 久久精品久久久精品美女| 91视频国产资源| 国产亚洲综合性久久久影院| 亚洲综合激情另类小说区| 亚洲超丰满肉感bbw| 精品一区二区在线看| 99久久99久久免费精品蜜臀| 日韩欧美国产麻豆| 亚洲欧美另类综合偷拍| 免费成人美女在线观看| 欧美日韩五月天| 一区二区三区鲁丝不卡| 久久精品72免费观看| 欧美福利视频导航| 午夜免费久久看| 91免费看`日韩一区二区| 26uuu精品一区二区在线观看| 美腿丝袜在线亚洲一区| 日韩欧美视频一区| 亚洲一区在线播放| 成人91在线观看| 日韩欧美国产系列| 狠狠色丁香久久婷婷综| 7777精品伊人久久久大香线蕉超级流畅 | 狠狠色伊人亚洲综合成人| 日韩精品一区二区三区中文精品| 日本最新不卡在线| 欧美探花视频资源| 奇米四色…亚洲| 欧美日韩中文国产| 男男成人高潮片免费网站| 欧美精选一区二区| 国产精品视频一二三| 国产一区二区三区四区五区美女 | 亚洲欧洲日韩女同| 91免费版在线| 婷婷激情综合网| 91精品免费在线| 狠狠色综合播放一区二区| 久久精品综合网| 99久久精品久久久久久清纯| 最新国产成人在线观看| 欧美日韩高清在线播放| 青青草国产精品97视觉盛宴| 久久精品日产第一区二区三区高清版 | 久久精品在线免费观看| 成人久久久精品乱码一区二区三区| 中文字幕成人网| 国产三级精品三级在线专区| 欧美日韩国产高清一区二区三区 | 日韩欧美一区二区免费| 日韩三级视频中文字幕| 久久久91精品国产一区二区三区| 亚洲激情校园春色| 国产在线精品不卡| 91在线porny国产在线看| 亚洲一区二区三区小说| 日韩欧美另类在线| 高清shemale亚洲人妖| 尤物av一区二区| 欧美精品一区二区在线播放| 成人看片黄a免费看在线| 亚洲.国产.中文慕字在线| 国产夜色精品一区二区av| 欧美日韩精品三区| 成人午夜伦理影院| 奇米影视一区二区三区小说| 亚洲另类在线一区| 久久人人超碰精品| 欧美日韩国产天堂| 成人精品国产一区二区4080| 日韩av高清在线观看| 亚洲欧美日韩在线不卡| 精品国产乱码久久久久久牛牛| 色综合天天天天做夜夜夜夜做| 毛片av一区二区| 亚洲成人av电影在线| 中文子幕无线码一区tr| 欧美成人一区二区| 欧美电影在线免费观看| 色呦呦国产精品| 粉嫩13p一区二区三区| 日韩电影免费一区| 亚洲美女视频在线| 国产欧美视频一区二区三区| 欧美一卡在线观看| 色哦色哦哦色天天综合| 成人激情视频网站| 国产真实乱对白精彩久久| 日韩激情视频在线观看| 亚洲图片激情小说| 国产精品123| 精品一区二区三区免费播放| 日本欧美一区二区三区| 亚洲一区二区欧美| 一区二区三区欧美激情| 一区av在线播放| 亚洲永久免费av| 亚洲中国最大av网站| 亚洲色图制服诱惑| 亚洲精品一二三四区| 国产精品国产三级国产三级人妇 | 中文字幕日韩一区| 国产伦精品一区二区三区视频青涩 | 成人亚洲一区二区一| 成人一区在线看| 麻豆91精品视频| 国产一区二区在线视频| 日韩成人dvd| 日本美女一区二区| 国产精品亚洲视频| 91丨porny丨首页| 欧美另类变人与禽xxxxx| 亚洲精品在线电影| 国产精品久久网站| 午夜精品一区二区三区三上悠亚| 美日韩一区二区三区| 成人av资源在线| 欧美丰满少妇xxxxx高潮对白| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲女人****多毛耸耸8| 日本v片在线高清不卡在线观看| 国产精品99久久久久久宅男| 91理论电影在线观看| 精品国精品自拍自在线| 一区二区三区日本| 国产精品自在欧美一区| 色国产综合视频| 国产欧美视频一区二区三区| 午夜久久福利影院|