SQL優(yōu)化:很簡單的一篇提高SQL性能的文章!

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

1 該最開始的 sql 執(zhí)行情況如下

SQL&gt;?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 ??8????WHERE?T.RELA_TYPE_CD?=?2 ??9????AND?t.start_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<p>?</p><p><img alt="image" class="has" src="https://img.php.cn/upload/article/000/000/018/8062f64365ca5d12f77f757727bc7d3e-0.png"></p><pre class="brush:sql;toolbar:false;">Predicate?Information?(identified?by?operation?id): --------------------------------------------------- ???1?-?Filter(ROWNUM=SYSDATE@!?AND ??????????????"T"."START_DT"=SYSDATE@!?AND?"SUBOS"."START_DT"(+)<p>?</p><p><img alt="image" class="has" src="https://img.php.cn/upload/article/000/000/018/8062f64365ca5d12f77f757727bc7d3e-1.png"></p><p>2 第一次分析<br>此時應該有以下個地方值得注意<br>1) 該 sql 每天執(zhí)行上千次,平均每次執(zhí)行返回不到 10 行數(shù)據(jù),但是平均邏輯讀達到1.2W,可能存在性能問題。<br>2)ID 為 4,5 的執(zhí)行計劃路徑中出現(xiàn)了兩個全表掃描,看到這兒我們可以想到可能是沒有合適的索引導致走了全表掃描從而執(zhí)行效率低下。<br>3)ID 為 2 的執(zhí)行計劃路徑出現(xiàn)了 FILTER,且 3,和 6 為其子路徑,如果FILTER有兩個及兩個以上的子路徑,那么他的執(zhí)行原理將類似于嵌套循環(huán),id 號最小的子路徑如果返回行數(shù)較多,可能會導致多次執(zhí)行id號更小的子路徑,導致性能低下。一般存在 “OR EXISTS” 的時候會出現(xiàn)此情況,可以根據(jù)情況避免。</p><p>相關鏈接:<br></p><p><a href="http://www.php.cn/php-notebook-162286.html" target="_self">PHP-FPM實現(xiàn)性能優(yōu)化,php-fpm性能優(yōu)化</a></p><p><a href="http://www.php.cn/php-notebook-162286.html" target="_self">PHP-FPM實現(xiàn)性能優(yōu)化,php-fpm性能優(yōu)化</a></p><p><a href="http://www.php.cn/php-notebook-162286.html" target="_self">PHP-FPM實現(xiàn)性能優(yōu)化,php-fpm性能優(yōu)化</a></p>

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享