1.为什么要使用索引?
索引用于快速查找某个列中特定的行,如果不使用索引mysql必须从第一行开始读完整个表找到对应的行,数据量大的话会消耗大量的时间,使用索引可以快速定位,节省时间。myisam和innodb都采用B+tree数据结构,但是实现的方式不一样。
2.索引的优缺点
①优点:数据量大的时间,大大加快了数据的查询速度
②缺点:创建和维护索引需要消耗时间,需要占用空间。
③使用规则:经常更新的表不使用,经常查询的表使用,数据量小的表尽量不使用索引,同值少的列不使用索引(男,女),同值多的列使用索引。
3.索引的分类
①单列索引:一个索引只包含单个列,一个表中可以有多个单列索引。
★普通索引:列数据可以重复,可以为空
★唯一索引:列数据唯一,但是可以为空
★主键索引:列数据唯一,但是不能为空
②组合索引:在多个字段上创建组合索引,只有在查询的时候使用到最左边的字段,索引才会被使用
③全局索引:只有在CHAR,VARCHAR,TEXT了类型的字段才能使用,在一堆文字中找到查询的值,找到对应的行。
④空间索引
4.创建索引
①普通索引:index(字段名)
②唯一索引:unique index uniqidx(字段名)
③主键索引:primary key(字段名)
④创建组合索引:index multiidx(字段名)
https://www.cnblogs.com/whgk/p/6179612.html