《Oracle+11g+从入门到精通》学习笔记1

来源:互联网 发布:晨曦软件视频 编辑:程序博客网 时间:2024/05/21 10:56
索引
数据库中,索引是除了表之外最重要的数据对象,功能是提高对数据表的检索效率。索引使DML操作能迅速的找到表中的数据,而不用扫描整个表。
类似于书中,目录是内容和页码的清单,数据库中,索引是数据和存储位置的列表。
索引是建立在表上的、可选的数据对象。索引通过事先保存的、排序后的索引键取代默认的全表扫描检索方式。
1.索引的概念
索引是将创建列的建值和对应记录的物理记录号(ROWID)排序后存储起来,需要占用额外的存储空间来存放。
由于索引占用的空间远小于表所占用的实际空间,在系统通过索引进行数据检索时,可先将索引调入内存,通过索引对记录进行定位,大大减少了磁盘I/O操作次数,提高检索效率。
Oracle有时会利用索引,如唯一索引来实现一些完整性约束,因此在创建主键约束时会自动创建主键索引。
2.如何某表的某个字段有主键约束和唯一性约束,oracle会自动在相应的约束列上建立唯一索引。数据库索引主要进行提高访问速度。
建设原则:
 1、索引应该经常建在Where 子句经常用到的列上。如果某个大表经常使用某个字段进行查询,并且检索行数小于总表行数的5%。则应该考虑。
 2、对于两表连接的字段,应该建立索引。如果经常在某表的一个字段进行Order By 则也经过进行索引。
 3、不应该在小表上建设索引。
优缺点:
 1、索引主要进行提高数据的查询速度。 当进行DML时,会更新索引。因此索引越多,则DML越慢,其需要维护索引。 因此在创建索引及DML需要权衡。
创建索引:
单列索引;
复合索引:where子句中有OR操作符或者查询条件非第一个字段,不走索引,全表扫描;

实现记录的唯一性方法
1.用键实现 : 主键唯一约束
2.创建唯一索引
3.用序列生成唯一索引
阅读全文
0 0
原创粉丝点击