索引是储存在磁盘上的数据结构。所有的列类型都可以加索引,索引的最主要目的是为了增加查询速度。

常用的innodb储存引擎只支持btree索引。别的引擎例如heap会支持hash索引。

索引的好处主要有4点。第一是增加查询速度。第二是唯一索引可以确保数据唯一性。第三是加快分组和排序的速度。第四是加快连表查询的速度。

索引的坏处主要有3点。第一是索引会占用一些储存空间,甚至其空间会超过数据文件。第二是索引的建立和维护会有开销。第三是在数据增、删、改时,索引也会动态维护,减低了数据维护速度。