索引的作用,优缺点

mysql : 使用B+树建立索引。

数据是存储在磁盘上的,操作系统读取磁盘的最小单位是块,如果没有索引,会加载所有的数据到内存,依次进行检索,加载的总数据会很多,磁盘IO多。
如果有了索引,会以学号为key创建索引,MySQL采用B+树结构存储,一方面加载的数据只有学号和主键ID,另一方便采用了多叉平衡树,定位到指定学号会很快,根据关联的ID可以快速定位到对应行的数据,所以检索的速度会很快,因为加载的总数据很少,磁盘IO少。
可见,索引可以大大减少检索数据的范围、减少磁盘IO,使查询速度很快,因为磁盘IO是很慢的,是由它的硬件结构决定的。

索引的优缺点:

索引主要分为四种:普通索引、主键、唯一索引、复合索引

建立索引的优点:

1、索引能够提高数据检索的效率,降低数据库的IO成本。

2、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性,创建唯一索引

3、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间

4、加速两个表之间的连接,一般是在外键上创建索引

建立索引的缺点:

1、需要占用物理空间,建立的索引越多需要的空间越大

2、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加

一般需要建立索引的字段

1、经常用在where语句之后的字段

2、主键或者外键

3、字段具有唯一性的时候建立唯一性索引

4、在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的

你可能感兴趣的:(索引的作用,优缺点)