使用合适的联合索引

使用合适的联合索引

ID:34739720

大小:68.68 KB

页数:3页

时间:2019-03-10

使用合适的联合索引_第1页
使用合适的联合索引_第2页
使用合适的联合索引_第3页
资源描述:

《使用合适的联合索引》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、我们通常会去建一些联合索引来支持复杂的sql语句,以便查询更加有效,索引中包含多个字段,字段先后顺序的不同常常会导致巨大的性能差异。看下面的例子:1.联合索引的定义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通过试验我们可以看出,索引字段位置稍一调整,逻辑读就相差了100倍左右。这篇其实没有什么含义,只是提醒大家建联合索引时要细心一点,多去衡量sql查询条件(通常索引会支持很多个查询),衡量索引所包含字段的数据分布,衡量字段顺序不同带来的影响,以便建立出更有效的联合索引。--EOF--评论:1. 1丁原例子举得不好。我应该通过status+

7、gmt_create,gmt_create+status分别来建立索引,这样就好比对了,看起来也会清楚很多。我们经常会遇到一个索引包含多个字段,服务于多个查询sql,这时候就要评估一下关键字段的先后顺序。CommentonSep14th,2008at9:14am  1. 2orpheanwheret.status=1andt.gmt_create>(sysdate-5);针对这个查询条件,crmind_det_sta_gmtcrstatus1validtbs_crm_indcrmind_det_sta_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。