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

     实践表明,不适当的索引会降低系统性能。