一种Oracle数据库索引优化方法技术

技术编号:23084966 阅读:51 留言:0更新日期:2020-01-11 01:06
本发明专利技术提供了一种Oracle数据库索引优化方法,所述优化方法包括:回收低使用率索引、回收索引权重低的索引和多表关联。本发明专利技术通过对索引、数据以及执行过的SQL语句进行分析,对数据库长期使用过程中所出现的由于休眠索引或索引缺失导致的性能与存储浪费问题进行修正。本发明专利技术通过对整个实例的索引使用频率的检测,将3个月内未使用过的索引定义为低使用率索引,对识别出的低使用率索引进行索引失效或删除操作。本发明专利技术根据索引字段无重复值的个数(d)与该字段数据的个数(s),计算得出索引权重W,将索引权重W>1的索引进行失效或删除。本发明专利技术对多表关联的SQL,分析其执行计划,对关键字段创建索引,提升SQL执行效率。

An index optimization method for Oracle Database

【技术实现步骤摘要】
一种Oracle数据库索引优化方法
本专利技术涉及一种数据库搜索方法,具体涉及一种Oracle数据库索引的使用方法的改进。
技术介绍
索引是一种对数据库表中一列或多列的值进行排序的一种存储结构,是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。创建索引的目的是快速从整体集合中选择性地读取满足条件的一部分集合。创建索引可以大大加快数据的检索速度,可以加速表和表之间的连接,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。但是,随着数据库中索引的增加,也会带来一些不利的一个方面。不利方面主要包括:1)创建索引和维护索引要耗费时间;2)索引需要占物理空间,索引越多,需要的空间就会更大;3)在数据库长期使用过程中会出现由于休眠索引或索引缺失导致的性能问题,大量的无效索引既影响数据的插入与更新效率又浪费存储空间,同时一些字段的索引缺失也会对数据的关联查询效率带来严重的影响。因此,亟需要对数据库长期使用过程中所出现的由本文档来自技高网...

【技术保护点】
1.一种Oracle数据库索引优化方法,其特征在于,所述优化方法包括如下步骤:步骤S1:回收低使用率索引;步骤S2:回收索引权重低的索引;步骤S3:多表关联;/n其中,所述回收低使用率索引包括以下步骤:/n第一步:扫描整个实例下索引使用频率;扫描数据库数据字典V$SQL,分析中近期执行SQL的执行计划,从执行计划中提取索引使用信息,计算SQL中所涉及索引的使用次数;/n第二步:将90天内未使用的索引列举出来;根据第一步计算得到的索引使用频率统计数据,提取出90天内未使用过的索引;/n第三步:将90天内使用过的非低使用率索引进行保留;/n第四步:对90天内未使用过的索引进行删除操作;执行DDL ...

【技术特征摘要】
1.一种Oracle数据库索引优化方法,其特征在于,所述优化方法包括如下步骤:步骤S1:回收低使用率索引;步骤S2:回收索引权重低的索引;步骤S3:多表关联;
其中,所述回收低使用率索引包括以下步骤:
第一步:扫描整个实例下索引使用频率;扫描数据库数据字典V$SQL,分析中近期执行SQL的执行计划,从执行计划中提取索引使用信息,计算SQL中所涉及索引的使用次数;
第二步:将90天内未使用的索引列举出来;根据第一步计算得到的索引使用频率统计数据,提取出90天内未使用过的索引;
第三步:将90天内使用过的非低使用率索引进行保留;
第四步:对90天内未使用过的索引进行删除操作;执行DDLDROPINDEX删除索引;
第五步:重新扫描,确认无误,程序退出,操作完成。


2.根据权利要求1所述的一种Oracle数据库索引优化方法,其特征在于,所述回收索引权重低的索引,包括以下步骤:
第一步:计算索引字段的离散度,具体包括如下步骤:
1)扫描索引字段;通过COUNT(DISTINCTinx及COUNT(*)计算字段索引不重复值的个数(d)与该字段数据的个数(s);
2)计算索引权重;
第二步:根据索引权重w判断离散度,索引权重w>1的索引为离散度低的索引,索引...

【专利技术属性】
技术研发人员:李东升
申请(专利权)人:南京我爱我家信息科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1