Oacle大表查询,条件字段可能为null时,如何提升查询效率

Oacle大表查询,条件字段可能为null时,如何提升查询效率
场景: 公司有一张记录外部请求的表,数据量庞大(亿级),且没做分库分表,导致查询时部分字段做为条件又没索引时,查询耗时超过接口请求时间。

方法1: 使用复合索引,ORDERNUMBER(可能为null列)为先导列,第二列使用常数。

# 使用复合索引,ORDERNUMBER(可能为null列)为先导列,第二列使用常数。
create index db_name.idx_ordnumber on db_name.table_name(ordernumber,1);

验证方法1:
1、首先先看一下查询有索引字段时,oracle执行计划

select * from db_name.table_name where TRANS_IDO = '36d5c2d9ef86472393c6da43270a7a88';

	| Id  | Operation                   | Name                | Rows  | Bytes | Cost (%CPU)| Time     |
    ---------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |                     |     1 |   187 |    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值