使用合適的聯(lián)合索引

使用合適的聯(lián)合索引

ID:34739720

大?。?8.68 KB

頁數(shù):3頁

時間:2019-03-10

使用合適的聯(lián)合索引_第1頁
使用合適的聯(lián)合索引_第2頁
使用合適的聯(lián)合索引_第3頁
資源描述:

《使用合適的聯(lián)合索引》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、我們通常會去建一些聯(lián)合索引來支持復(fù)雜的sql語句,以便查詢更加有效,索引中包含多個字段,字段先后順序的不同常常會導(dǎo)致巨大的性能差異??聪旅娴睦樱?.聯(lián)合索引的定義crmidx_det_sta_dealstatus1validtbs_crm_indcrmidx_det_sta_dealdeal_id2validtbs_crm_indcrmidx_det_sta_dealgmt_create3validtbs_crm_indcrmind_det_sta_gmtcrstatus1validtbs_crm_indcrmind_det_sta_gmtcrgmt_create2vali

2、dtbs_crm_indcrmind_det_sta_gmtcrdeal_id3validtbs_crm_ind2.sql分別使用兩個索引的效率SQL>setautottraceonlySQL>selectcount(*)2fromcrm_detailt3wheret.status=1andt.gmt_create>(sysdate-5);ExecutionPlan----------------------------------------------------------SELECTSTATEMENTOptimizer=CHOOSE(Cost=10Card=1Byte

3、s=11)0SORT(AGGREGATE)1INDEX(RANGESCAN)OF'IND_DETAIL_STA_GMTCREATE'(NON-UNIQUE)(Cost=23Card=20297Bytes=223267)Statistics----------------------------------------------------------0recursivecalls0dbblockgets30consistentgets17physicalreads0redosize492bytessentviaSQL*Nettoclient655bytesreceivedv

4、iaSQL*Netfromclient2SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)1rowsprocessed--指定另一個索引SQL>select/*+index(tIDX_DET_STA_DEAL)*/count(*)2fromcrm_detailt3wheret.status=1andt.gmt_create>(sysdate-5);ExecutionPlan----------------------------------------------------------SELECTSTATEMEN

5、TOptimizer=CHOOSE(Cost=1038Card=1Bytes=11)0SORT(AGGREGATE)1INDEX(RANGESCAN)OF'IDX_DET_STA_DEAL'(NON-UNIQUE)(Cost=2595Card=20297Bytes=223267)Statistics----------------------------------------------------------0recursivecalls0dbblockgets3650consistentgets0physicalreads0redosize492bytessentvia

6、SQL*Nettoclient655bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)1rowsprocessed通過試驗我們可以看出,索引字段位置稍一調(diào)整,邏輯讀就相差了100倍左右。這篇其實沒有什么含義,只是提醒大家建聯(lián)合索引時要細(xì)心一點,多去衡量sql查詢條件(通常索引會支持很多個查詢),衡量索引所包含字段的數(shù)據(jù)分布,衡量字段順序不同帶來的影響,以便建立出更有效的聯(lián)合索引。--EOF--評論:1.?1丁原例子舉得不好。我應(yīng)該通過status+

7、gmt_create,gmt_create+status分別來建立索引,這樣就好比對了,看起來也會清楚很多。我們經(jīng)常會遇到一個索引包含多個字段,服務(wù)于多個查詢sql,這時候就要評估一下關(guān)鍵字段的先后順序。CommentonSep14th,2008at9:14am??1.?2orpheanwheret.status=1andt.gmt_create>(sysdate-5);針對這個查詢條件,crmind_det_sta_gmtcrstatus1validtbs_crm_indcrmind_det_sta_

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。