什么是索引:
索引是数据库中用于提高查询效率的技术,类似于目录
一个索引是存储的表中一个特定列的值数据结构(最常见的是B-Tree)。索引是在表的列上创建。所以,要记住的关键点是索引包含一个表中列的值,并且这些值存储在一个数据结构中。请记住记住这一点:索引是一种数据结构 。
为什么使用索引:
如果不使用索引,数据会零散的保存在磁盘块中,查询数据需要挨个遍历每一个磁盘块,直到找到数据为止,使用索引后会将磁盘块以树桩结构进行保存,查询数据时会大大降低磁盘块的访问数量,从而提高查询效率。
索引是越多越好吗?
不是,因为索引会占用存储空间,只针对常用的查询字段创建索引。
有索引就一定好吗?
如果数据量小,添加索引反而会降低查询效率。
索引分类(了解)
- 聚集索引:给表添加主键约束的时候数据库会自动通过主键创建索引,这个索引称为聚集索引。 聚集索引的磁盘块中保存数据
- 非聚集索引:通过其它字段创建的索引称为非聚集索引,非聚集索引的磁盘块中只保存磁盘块的地址没有数据(因为数据只需要有一份)