六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

SQL優化:很容易的一篇提高SQL性能的文章!

[摘要]在sql查詢中為了提高查詢效率,我們常常會采取一些措施對查詢語句進行sql優化,下面總結的一些方法,有需要的可以參考參考。在某運營商的優化經歷中曾經遇到了一條比較有意思的 SQL,具體如下:1 該最...
在sql查詢中為了提高查詢效率,我們常常會采取一些措施對查詢語句進行sql優化,下面總結的一些方法,有需要的可以參考參考。在某運營商的優化經歷中曾經遇到了一條比較有意思的 SQL,具體如下:

1 該最開始的 sql 執行情況如下

SQL> SELECT
  2    NVL(T.RELA_OFFER_SPEC_ID, SUBOS.SUB_OFFER_SPEC_ID) "offerSpecId"
  3    FROM OFFER_SPEC_RELA T
  4    LEFT JOIN OFFER_SPEC_GRP_RELA SUBOS
  5    ON T.RELA_GRP_ID     = SUBOS.OFFER_SPEC_GRP_ID
  6    AND subos.start_dt  <= SYSDATE
  7    AND subos.end_dt    >= SYSDATE
  8    WHERE T.RELA_TYPE_CD = 2
  9    AND t.start_dt      <= SYSDATE
 10    AND t.end_dt        >= SYSDATE
 11    AND (T.OFFER_SPEC_ID = 109910000618
 12    OR EXISTS
 13      (SELECT A.OFFER_SPEC_GRP_ID
 14      FROM OFFER_SPEC_GRP_RELA A
 15      WHERE A.SUB_OFFER_SPEC_ID = 109910000618
 16      AND T.OFFER_SPEC_GRP_ID   = A.OFFER_SPEC_GRP_ID
 17      ))
 18    AND rownum<500;

no rows selected
 
Execution Plan
----------------------------------------------------------
Plan hash value: 1350156609

image

Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter(ROWNUM<500)
   2 - filter("T"."OFFER_SPEC_ID"=109910000618 OR  EXISTS (SELECT 0 FROM
              "SPEC"."OFFER_SPEC_GRP_RELA" "A" WHERE "A"."OFFER_SPEC_GRP_ID"=:B1 AND
              "A"."SUB_OFFER_SPEC_ID"=109910000618))
   3 - access("T"."RELA_GRP_ID"="SUBOS"."OFFER_SPEC_GRP_ID"(+))
   4 - filter("T"."RELA_TYPE_CD"=2 AND "T"."END_DT">=SYSDATE@! AND
              "T"."START_DT"<=SYSDATE@!)
   5 - filter("SUBOS"."END_DT"(+)>=SYSDATE@! AND "SUBOS"."START_DT"(+)<=SYSDATE@!)
   6 - access("A"."SUB_OFFER_SPEC_ID"=109910000618 AND "A"."OFFER_SPEC_GRP_ID"=:B1)
 
Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
      12444  consistent gets
          0  physical reads
          0  redo size
        339  bytes sent via SQL*Net to client
        509  bytes received via SQL*Net from client
          1  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          0  rows processed
 
                  PLAN                     GET     DISK    WRITE              ROWS      ROWS USER_IO(MS)  ELA(MS)  CPU(MS) CLUSTER(MS)    PLSQL
END_TI I    HASH VALUE EXEC           PRE EXEC PRE EXEC PER EXEC ROW_P    PRE EXEC PRE FETCH    PER EXEC PRE EXEC PRE EXEC    PER EXEC PER EXEC

image

2 第一次分析
此時應該有以下個地方值得注意
1) 該 sql 每天執行上千次,平均每次執行返回不到 10 行數據,但是平均邏輯讀達到1.2W,可能存在性能問題。
2)ID 為 4,5 的執行計劃路徑中出現了兩個全表掃描,看到這兒我們可以想到可能是沒有合適的索引導致走了全表掃描從而執行效率低下。
3)ID 為 2 的執行計劃路徑出現了 FILTER,且 3,和 6 為其子路徑,如果FILTER有兩個及兩個以上的子路徑,那么他的執行原理將類似于嵌套循環,id 號最小的子路徑如果返回行數較多,可能會導致多次執行id號更小的子路徑,導致性能低下。一般存在 “OR EXISTS” 的時候會出現此情況,可以根據情況避免。

相關鏈接:

PHP-FPM實現性能優化,php-fpm性能優化

【SQL】MySQL性能優化_MySQL

MySQL優化視頻教程

以上就是SQL優化:很簡單的一篇提高SQL性能的文章!的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 天堂v | 亚洲你懂的 | 亚洲日本在线免费观看 | 天天干天天操天天做 | 四虎在线永久精品高清 | 小草影院在线观看 | 日本欧美一区二区三区片 | 亚洲精品在线视频观看 | 自拍偷拍亚洲第一页 | 日本成a人片在线观看网址 日本草草影院 | 全国男人的天堂网站 | 又粗又硬又大又爽免费视频播放 | 欧美特黄一区二区三区 | 四虎影院最新网站 | 日本高清视频一区二区三区 | 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 亚洲男人的天堂网站 | 日本japanese丰满高清成人视 | 青青国产精品视频 | 日本一二区在线观看 | 色综合久久网 | 亚洲国产日韩精品 | 青青青视频在线播放视频 | 亚洲午夜在线观看 | 亚洲福利网址 | 亚洲国产日韩在线观看 | 午夜三级理论在线观看视频 | 亚洲国产精品高清在线一区 | 中文字幕免费观看视频 | 亚洲精品 国产 日韩 | 婷婷丁香九月 | 四虎国产精品影库永久免费 | 亚洲乱亚洲23p女 | 日韩欧美中字 | 五月激情丁香婷婷综合第九 | 最新版天堂中文官网 | 亚洲欧美无人区乱码 | 欧美在线一级视频 | 三级在线经典三级 | 深夜视频在线播放视频在线观看免费观看 | 四虎国产在线 |