索引
...大约 1 分钟
索引
索引
索引是一种帮助MySQL快速获取数据的数据结构,相当于是数据的目录
- 优点:可以加快查询的效率
- 缺点:维护起来成本很高且需要占用很多的存储空间
索引的分类
索引主要分为主键索引和普通索引(二级索引),从类型上可以分为唯一索引,单列索引,联合索引和全文索引等
也可以分为聚集索引和非聚集索引
聚集索引:就是将索引和数据放在一起,数据和索引都是按照相同的逻辑顺序排序
非聚集索引:指索引与对应的数据分开
区别
空间分配:聚集索引需要一整块的内存空间,并且一张表最多只能有一个聚集索引,通常是主键索引;非聚集索引不需要一整块的内存空间,并且一张表中可以有多个非聚集索引
性能:聚集索引的索引与数据都是有序的,查询速度会比较快,但是在进行更新数据后,可能会导致对数据重新排序,影响性能;非聚集索引需要先找索引,再找数据,因此查找速率会比较慢,但是对于更新数据操作,不会影响其性能