一.索引概述
索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。表的索引就如同书的目录一样,通过索引可以大大提高查询速度,改善数据库的性能。其具体表现如下:
(1)通过创建唯一性索引,可以保证数据记录的唯一性。
(2)可以大大加快数据的检索速度。
(3)可以加快表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。
(4)在使用ORDEY BY和GROUP BY子句进行数据检索时,可以显著减少查询中分组和排序的时间。
(5)使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。
二.索引的优缺点
优点:
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
缺点:
1.索引需要占物理空间。
2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
三.索引的分类
1.普通索引
普通索引是由KEY或INDEX定义的索引,它是MySQL中的基本索引类型,允许在定义索引的列中插入重复值和空值。该类型索引可以创建在任何数据类型中。
2.唯一索引
唯一索引是由UNI