oracle索引大总结

oracle索引大总结

ID:12075460

大小:51.00 KB

页数:20页

时间:2018-07-15

oracle索引大总结_第1页
oracle索引大总结_第2页
oracle索引大总结_第3页
oracle索引大总结_第4页
oracle索引大总结_第5页
资源描述:

《oracle索引大总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、oracle索引大总结索引使用的好处与坏处(Oracle)分类:OracleDB?创建索引的好处–帮助用户提高查询速度–利用索引的唯一性来控制记录的唯一性–可以加速表与表之间的连接–降低查询中分组和排序的时间?创建索引的坏处–存储索引占用磁盘空间–执行数据修改操作(INSERT、UPDATE、DELETE)产生索引维护----------------------------------------------------------------------------------------------索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使效

2、率提高10000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。  索引的管理成本  1、存储索引的磁盘空间  2、执行数据修改操作(INSERT、UPDATE、DELETE)产生的索引维护  3、在数据处理时回需额外的回退空间。  实际数据修改测试:  一个表有字段A、B、C,同时进行插入10000行记录测试 在没有建索引时平均完成时间是2.9秒  在对A字段建索引后平均完成时间是6.7秒  在对A字段和B字段建索引后平均完成时间是10.3秒  在对A字段、B字段和C字段都建索引后平均完成时间是11.7秒  从以上测试结果可以明显看出索引对数据修改产生的影响  索

3、引按存储方法分类  B*树索引  B*树索引是最常用的索引,其存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引到的具体的书页。一般索引及唯一约束索引都使用B*树索引。  位图索引  位图索引储存主要用来节省空间,减少ORACLE对数据块的访问,它采用位图偏移方式来与表的行ID号对应,采用位图索引一般是重复值太多的表字段。位图索引在实际密集型OLTP(数据事务处理)中用得比较少,因为OLTP会对表进行大量的删除、修改、新建操作,ORACLE每次进行操作都会对要操作的数据块加锁,所以多人操作很容易产生数据块锁等待甚至死锁现象。在OLAP

4、(数据分析处理)中应用位图有优势,因为OLAP中大部分是对数据库的查询操作,而且一般采用数据仓库技术,所以大量数据采用位图索引节省空间比较明显。  索引按功能分类  唯一索引  唯一索引有两个作用,一个是数据约束,一个是数据索引,其中数据约束主要用来保证数据的完整性,唯一索引产生的索引记录中每一条记录都对应一个唯一的ROWID。  主关键字索引  主关键字索引产生的索引同唯一索引,只不过它是在数据库建立主关键字时系统自动建立的。一般索引  一般索引不产生数据约束作用,其功能主要是对字段建立索引表,以提高数据查询速度。  索引按索引对象分类  单列索引(表单个字段的索引)  多列索

5、引(表多个字段的索引)  函数索引(对字段进行函数运算的索引)  建立函数索引的方法:  createindex收费日期索引onGC_DFSS(trunc(sk_rq))  createindex完全客户编号索引onyhzl(qc_bh

6、

7、kh_bh)  在对函数进行了索引后,如果当前会话要引用应设置当前会话的query_rewrite_enabled为TRUE。  altersessionsetquery_rewrite_enabled=true  注:如果对用户函数进行索引的话,那用户函数应加上deterministic参数,意思是函数在输入值固定的情况下返回值也固定。例: 

8、 createorreplacefunctiontrunc_add(input_datedate)returndatedeterministic  as  begin  returntrunc(input_date+1);  endtrunc_add;  应用索引的扫描分类INDEXUNIQUESCAN(按索引唯一值扫描)  select*fromzl_yhjbqkwherehbs_bh='5420016000'  INDEXRANGESCAN(按索引值范围扫描)  select*fromzl_yhjbqkwherehbs_bh>'5420016000'  select*from

9、zl_yhjbqkwhereqc_bh>'7001'  INDEXFASTFULLSCAN(按索引值快速全部扫描)  selecthbs_bhfromzl_yhjbqkorderbyhbs_bh  selectcount(*)fromzl_yhjbqk  selectqc_bhfromzl_yhjbqkgroupbyqc_bh  什么情况下应该建立索引  表的主关键字  自动建立唯一索引  如zl_yhjbqk(用户基本情况)中的hbs_bh(户标识编号)  表的字段唯一约束  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。