oracle索引分析、普通索引、函数索引、case when

索引查询性能分析

没有建立索引、1000w条数据,全表扫描(full)、

执行时间:第一次3s 第二次2s

第一次执行

oracle索引分析、普通索引、函数索引、case when

 

Sql执行计划

oracle索引分析、普通索引、函数索引、case when

 

建立普通索引 1000w条数据

Create index status_index on epcc_paymsg (prcess_status);

全表扫描

执行时间:

第一次 2s      第二次 2s

第一次执行

oracle索引分析、普通索引、函数索引、case when

 

Sql执行计划

oracle索引分析、普通索引、函数索引、case when

 

建立函数索引

Create index status_index on epcc_paymsg (to_char(prcess_status));

执行时间:

第一次 37ms        第二次   35ms

索引范围扫描 index range scan

第一次执行

oracle索引分析、普通索引、函数索引、case when

 

第二次执行

oracle索引分析、普通索引、函数索引、case when

 

Sql执行计划

oracle索引分析、普通索引、函数索引、case when

 

有无索引情况下插入性能分析

Process_status字段无索引、

a)插入10w条数据

耗时 3s

oracle索引分析、普通索引、函数索引、case when

 

b)插入100w条数据

耗时 56s

oracle索引分析、普通索引、函数索引、case when

 

建立普通索引后,

a)插入10w条数据

耗时 7s

oracle索引分析、普通索引、函数索引、case when

b)插入100w条数据

耗时 1min39s

oracle索引分析、普通索引、函数索引、case when

建立函数索引

插入100w条数据

耗时       1min33s

oracle索引分析、普通索引、函数索引、case when

插入10w条数据

耗时        7s

oracle索引分析、普通索引、函数索引、case when

建立case when 类型索引

插入100w条数据

耗时       1min29s

oracle索引分析、普通索引、函数索引、case when