Oracle数据库索引管理规范


根据官方文档和平时自己经验,总结一下oracle数据库索引管理规范,可能不是很全,下次再补充一些

 

1   索引创建规范和适用情况

 

1.       对于经常查询的大表,如果返回数据少于15%,需要创建索引(可根据字段和全表描速度做调整,全表扫描越快,这个值越低)

2.  表的主键和唯一健会自动创建索引,外键一般情况下考虑创建索引

·         外键不创建索引的后果(死锁);

·         对于外键,业务表一般需要创建索引(频繁发生DML操作的表);

·         对于代码表一般可以不创建创建索引(数据基本不会发生改变的表);

3.  在经常使用的关联查询的连接字段上面创建索引,以提高性能。

4.  经常查询且部分查询值选择性很强需要创建索引

5.  列中包含很多空值,但是查询条件都是需要有值的,需要创建索引

6.  复合索引的建立

  • 正确选择复合索引中的第一个字段,一般是选择性较好的且在where 子句中常出现的字段上;
  • 复合索引的几个字段是否经常同时以and方式出现在where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
  • 如果复合索引中包含的字段经常单独出现在where子句中,则分解为多个单段索引,同时考虑删除复合索引;
  • 如果复合索引所包含的字段超过3 个,那么仔细考虑其必要性,考虑减少复合的字段;

 

2   不适合索引的情况

1.  包含很多空值,但是经常查询的语句中返回条件包含了空值的

2.  Longraw字段不能创建索引

3.  表非常小,如少于500-1000行数据,不需要创建索引

 

 

 

3   索引维护

1.  定期检查不使用的索引,对于不使用的索引应该进行删除,分析没有效果的索引,定期进行整理

2.  定期检查索引的碎片情况,对于碎片太多的索引进行重建



参考文档:http://docs.oracle.com/cd/E11882_01/server.112/e25494/indexes002.htm


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21605631/viewspace-762530/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21605631/viewspace-762530/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值