oracle学习之索引误区
来源:互联网 发布:java 里面执行 js代码 编辑:程序博客网 时间:2024/05/29 15:14
索引误区
大家都知道索引可以提高速率消除排序等,但是实际使用中往往存在滥用的情况,不仅浪费了资源,而且索引还起到了负面的作用。往往大家还不能觉察到这样的错误,导致生产系统故障。
普通索引:
普通索引很简单使用,不过实际上还有一些小的误区。
1.问题:count(1) avg() sum() min() max()只有当索引非空情况下查询才会走索引
解决方案:count()的时候如果有索引有空值无法解决。而avg() sum() min() max()处理时候加不加索引 is not null,结果一样,但是加索引is not null 时候会走索引扫描速度提高很多。
2.min(),max()同时查询时候只有索引非空时候才会走索引。
解决方案:加索引is not null,而且max() min()分开进行查询效率更高。
3.问题:返回非索引列会产生table access by index rowid)
解决方案:如果不需要查询非索引列尽量避免,这样可避免table access by index rowid,实在不行建立组合索引
4.问题:索引可以提高速度,是不是索引越多越好?
解决方案:索引并不是越多越好,索引要建的合理,否则插入、更新、删除效率很低。如果某一列有普通索引和组合索引,这时候考虑是不是如果组合索引第一列为普通索引时候,drop普通索引。另外也可以考虑现将索引失效,然后等操作完毕后使得索引生效。
当然生产库的操作尽量在业务少的时候做,以免占用资源,对系统造成压力。
0 0
- oracle学习之索引误区
- oracle学习之索引
- 使用索引的误区之三:基于函数的索引——Oracle
- oracle学习之--9,oracle索引
- Oracle之merge误区讨论
- oracle学习小结3之索引
- oracle学习小结3之索引
- oracle学习之索引与约束
- oracle学习之约束与索引
- 【Oracle学习】之 索引(index)
- 使用索引的误区之三:基于函数的索引
- 使用索引的误区之三:基于函数的索引
- 使用索引的误区之三:基于函数的索引
- 使用索引的误区之三:基于函数的索引
- oracle索引的学习
- Oracle索引学习总结
- Oracle索引学习
- 学习Oracle 索引
- android static变量退出后没有清除
- C#语法备注
- LeetCode 9 Reorder List
- Extjs3.4 Store中pruneModifiedRecords配置和getModifiedRecords方法搭配问题
- 多备份,帮你将网站和数据库自动备份到百度云
- oracle学习之索引误区
- Git使用基础篇
- 1408211724-hd-又见GCD.cpp
- Android系统启动流程简介。
- storm 启动异常 Error when processing event
- 代码块_iOS_2
- 【推荐系统】协同过滤--高度稀疏数据下的数据清理(皮尔逊相关系数)
- java注释
- IMSdroid视频通话出现的一方无法预览视频或双方无法显示对方视频