1.什么是索引?
索引是帮助mysql高效获取数据的排好序的数据结构
2.索引的分类:
(1)按索引与数据的位置来分类可分为?聚集索引和非聚集索引。
区别:聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个 聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续 聚集索引:物理存储按照索引排序;聚集索引是一种索引组织形式,索引的键值逻辑顺序决定了表数据行的物理存储顺序。 非聚集索引:物理存储不按照索引排序;非聚集索引则就是普通索引了,仅仅只是对数据列创建相应的索引,不影响整个表的物理存储顺序。 索引是通过二叉树的数据结构来描述的,我们可以这么理解聚集索引:索引的叶节点就是数据节点。而非聚集索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。 优势与缺点:聚集索引插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快。
(2)按索引类型可以分为:主键索引,唯一索引,普通索引。
3.索引的优缺点: 索引的优点 大大的提高查询速度 可以显著的减少查询中分组和排序的时间 索引的缺点 创建索引和维护索引需要时间,而且数据量越大时间越长 当对表中的数据进行增加,修改,删除的时候,索引也要同时进行维护,降低了数据的维护速度 ?
|