99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

SQL優化之如何使用索引

這篇文章主要介紹SQL優化之如何使用索引,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創新互聯公司成立與2013年,先為赤城等服務建站,赤城等地企業,進行企業商務咨詢服務。為赤城企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

下面 sql  30秒執行出結果,查看 sql 謂詞中有 like ,我們知道謂詞中有這樣的語句是不走索引的(為了保護客戶的隱私,表名和部分列已經重命名)。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

SELECT /*+1*/

CHECKNUM AS PINGZBSM,

CHECKDATE,

XXXMODE,

XXXRESULT,

(SELECT RESULT 

FROM (select ID,to_char(WMSYS.WM_CONCAT(xxxnum||xxxtype||xxxmode||xxxresult)) RESULT 

       from OOOO_XXXCHECKLOG 

      WHERE CHECKDATE BETWEEN DATE'2018-05-04' AND DATE'2018-05-04' and xxxtype like '%PAR'

      GROUP BY ID

    ) b where b.id=a.id

) RESULT,

CLERKNUM AS CHECKNUM

FROM OOO_XXXECHECKLOG A;

SQL優化之如何使用索引

邏輯讀600多萬。查看索引情況如下

SQL優化之如何使用索引

表過濾返回數據量如下:

1

2

3

4

5

6

SQL> select count(*) from OOOO_XXXCHECKLOG;

2799616

select count(*) from OOOO_XXXCHECKLOG WHERE CHECKDATE BETWEEN DATE'2018-05-04' AND DATE'2018-05-04' and xxxtype like '%PAR';

 12856

select count(*) from OOOO_XXXCHECKLOG WHERE CHECKDATE BETWEEN DATE'2018-05-04' AND DATE'2018-05-04';

197984

通過查詢上面返回數據可知,因為xxxtype不走索引,所以通過索引要回表197984次,如果走了索引只回表12856次。

下面我們建立REVERSE索引IDX_ID_TYPE_RE

1

2

3

4

5

6

7

8

9

10

11

12

13

14

SELECT /*+OOOO_XXXCHECKLOG index(IDX_ID_TYPE_RE) 2*/

CHECKNUM AS PINGZBSM,

CHECKDATE,

XXXMODE,

XXXRESULT,

(SELECT RESULT 

FROM (select ID,to_char(WMSYS.WM_CONCAT(xxxnum||xxxtype||xxxmode||xxxresult)) RESULT 

       from OOOO_XXXCHECKLOG 

      WHERE CHECKDATE BETWEEN DATE'2018-05-04' AND DATE'2018-05-04' and REVERSE(xxxtype) like 'RAP%'

      GROUP BY ID

    ) b where b.id=a.id

) RESULT,

CLERKNUM AS CHECKNUM

FROM OOO_XXXECHECKLOG A;

查看執行計劃如下,邏輯讀將為300萬,但是時間還是維持在 18 秒,根本原因在于這個索引因為標量子查詢的問題被訪問700 萬次導致。

SQL優化之如何使用索引

下面我們改寫sql如下

1

2

3

4

5

6

7

8

9

10

11

12

13

SELECT /*+ index(OOOO_XXXCHECKLOG IDX_ID_TYPE_RE) 3*/

CHECKNUM AS PINGZBSM,

CHECKDATE,

XXXMODE,

XXXRESULT,

B.RESULT,

CLERKNUM AS CHECKNUM

FROM OOO_XXXECHECKLOG A

left join (select ID,to_char(WMSYS.WM_CONCAT(xxxnum||xxxtype||xxxmode||xxxresult)) RESULT 

       from OOOO_XXXCHECKLOG 

      WHERE CHECKDATE BETWEEN DATE'2018-05-04' AND DATE'2018-05-04' and REVERSE(xxxtype) like 'RAP%'

      GROUP BY ID

    ) b on b.id=a.id;

SQL優化之如何使用索引

執行計劃中出現index_skip_scan。 

下面我們創建如下索引:

1

create index idx_date_seal_re on OOOO_XXXCHECKLOG(CHECKDATE,REVERSE(xxxtype));

SQL優化之如何使用索引

可以看到,邏輯讀降到64424, 50 個物理讀是因為剛剛創建索引的原因, sql 也秒出。

以上是“SQL優化之如何使用索引”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!

名稱欄目:SQL優化之如何使用索引
分享鏈接:http://www.yijiale78.com/article48/ghdphp.html

成都網站建設公司_創新互聯,為您提供網站收錄網站建設靜態網站App開發外貿網站建設響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設