1.定义,好比书的目录,,对应表的一个或多个列
2.优缺,优 加快数据的检索速度,
创建唯一性所以,保证数据库表中每一行数据的为一新
加速表语表之间的连接
在使用分组和排序子句惊醒数据检索时,可以显著减少查询中分组和排序的时间
缺 索引需要占用数据表意外的物理存储空间
创建索引和维护索引要花费一定的时间
当对表进行更新操作时,索引需要被重建,降低了数据的维护速度
3.类型
根据数据库的功能,可以在数据库设计器中创建索引:唯一索引、主键索引和聚集索引,普通索引,全文索引 尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。
唯一索引: UNIQUE 例如:create unique index stusno on student(sno);
表明此索引的每一个索引值只对应唯一的数据记录,表中的任意两行的索引值都不相等
主键索引: primary key
数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。
主键索引和唯一索引的区别:
主键一定会创建一个唯一索引,但是有唯一索引的列不一定是主键;
主键不允许为空值,唯一索引列允许空值;
一个表只能有一个主键,但是可以有多个唯一索引;
主键可以被其他表引用为外键,唯一索引列不可以;
主键是一种约束,而唯一索引是一种索引,是表的冗余数据结构,两者有本质的差别
聚集索引(也叫聚簇索引):cluster
指示表中数据行按索引键的排序次序存储,聚集索引对查找行很有效。只有当表包含聚集索引时,表内的数据行才按索引列的值在磁盘上进行物理上排序和存储。每一个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。
解释:什么叫索引项的排序方式和表中数据记录排序方式一致呢?
我们把一本字典看做是数据库的表,那么字典的拼音目录就是聚集索引,它按照A-Z排列。实际存储的字也是按A-Z排列的。这就是索引项的排序方式和表中数据记录排序方式一致。
普通索引:它的结构主要以B+树和哈希索引为主,主要是对数据表中的数据进行精确查找。
全文索引:它的作用是搜索数据表中的字段是不是包含我们搜索的关键字,就像搜索引擎中的模糊查询。
4.实现方式