旃麒雅 发表于 2018-9-11 06:20:49

Oracle 索引(学习笔记)

  索引是用于加速数据存取的数据对象,合理使用索引可以大大降低I/O次数,从而提高数据访问性能。
  为什么添加了索引后,会加快查询速度呢?
  单列索引:
  单列索引是基于单个列所建立的索引,例如:
  创建单列索引:
sql> create index index_name on table_name(field_name);  复合索引:
  是指基于两列或者多列建立的索引,在用一张表上可以有多个索引,但要求列的组合必须不同。例如:
sql> create index index_name on table_name(field_name1,field_name2);  
sql> create index index_name on table_name(field_name2,field_name1);
  根据数据的存储方式可以分为B*树索引、位图索引、反向索引。
  索引使用原则:
  1.在大表上建立索引才有意义。
  2.在where子句或是连接条件上经常使用的列建立索引。
  3.索引的层次不要超过4层。
  索引的缺点分析:
  1.建立索引,系统大概需要使用表的1.2倍的硬盘和内存空间存储索引。
  2.更新数据时,系统需要额外的时间来更新索引,以保持索引和表的一致性。
  实践表明,不适当的索引会降低系统性能。


页: [1]
查看完整版本: Oracle 索引(学习笔记)