索引是用于加速数据存取的数据对象,合理使用索引可以大大降低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.更新数据时,系统需要额外的时间来更新索引,以保持索引和表的一致性。
实践表明,不适当的索引会降低系统性能。