oracle索引建立注意的地方
来源:互联网 发布:网页游戏修改软件 编辑:程序博客网 时间:2024/06/01 07:47
一、索引的建立需要注意的地方
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
二、当使用联合索引中的一个字段查询时会不会用到索引呢
查询时使用联合索引的一个字段,如果这个字段在联合索引中所有字段的第一个,那就会用到索引,否则就无法使用到索引。 例如联合索引 IDX(字段A,字段B,字段C,字段D),当仅使用字段A查询时,索引IDX就会使用到;如果仅使用字段B或字段C或字段D查询,则索引IDX都不会用到。 这个规则在oracle和mysql数据库中均成立。
三、有时候使用索引比不使用索引运行速度还慢。
0 0
- oracle索引建立注意的地方
- Oracle注意的地方
- 关于Oracle索引建立的几个注意要点
- 如何建立mysql索引、介绍mysql的索引类型,mysql索引的利与弊,以及建立索引时需要注意的地方
- MySQL索引注意的几个地方
- Oracle中查看建立索引和使用索引的注意点
- Oracle中查看建立索引和使用索引的注意点
- Oracle中查看建立索引和使用索引的注意点
- MySQL建立索引应该注意的事项
- oracle 默认值需要注意的一个地方
- 关于oracle hint 值得注意的地方
- 安装oracle需注意的地方
- oracle查询时需要注意的地方
- Oracle转Mysql需要注意的地方
- oracle的索引使用注意
- Oracle建立索引的规则
- Oracle建立索引的原则
- oracle索引,索引的建立、修改、删除
- 地理知识
- Sigma Function
- 网络层
- SDL学习(2)图形的处理
- 剑指offer-面试题8:旋转数组的最小数字
- oracle索引建立注意的地方
- 2016年数据中心IT技术的五大发展趋势
- 解决nginx负载均衡的session共享问题
- java 内存映射效率好高啊
- Ajax学习(2)
- 【SDUT2416】Fruit Ninja II——积分
- 线程学习(一)----后台线程
- 机器学习笔记(四)——最大似然估计
- 关于一个系统的调试问题