索引本质作用是可以提升查询效率。索引底层是能够提升查询效率的数据结构,一般使用的是B+树,使用B+树的原因是它能保证在三次内必定找到数据,叶子节点还是一个双向链表,由此支持范围查找。索引分为主键索引和非主键索引。在主键索引中推荐主键使用自增的方式,因为插入的每一个数据都可以放到最后,由此减小没用必要的开销(如旋转树等)。还有普通索引,在普通索引中叶子节点放的值往往是主键的值,如果不存放主键而是放数据的话,那么当数据发生变化的时候不仅仅要维护该普通索引本身还需要去维护主键的索引增加了不必要的开销。枚举值等本身不适合创建索引,因为可以通过直接查表快速查出数据。索引会影响到增删改的效率所以在不经常查找的数据上没必要添加索引。我们如果有列表的值是大长度的如text类型的我们可以选择设置前缀索引,也就是索引这段话的比如前十个字为索引。