mysql的索引
索引的优点
查询快
缺点
占用额外空间 对数据进行改动时需要额外维护索引表
用于 重复率低 修改少的字段
唯一索引 主键索引 普通索引 联合索引
普通索引:(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。
唯一索引: 普通索引允许被索引的数据列包含重复的值,而唯一索引不允许,但是可以为null。所以任务是保证访问速度和避免数据出现重复。一个表可以有多个唯一索引
主键索引:在主键字段创建的索引,一张表只有一个主键索引。
组合索引:多列值组成一个索引,专门用于组合搜索。
有hash索引和b+索引两种
用b+索引好一些 因为 b+索引和一范围查找 hash索引只能等值查找
b+树
每个节点都只存索引 能存更多数据 只在叶子节点存数据(聚簇索引和非聚簇索引)
叶子节点会连成一个链表
索引失效的场景
1 使用like时 通配符在前
2 用函数处理索引字段
3 联合索引没有从最左侧开始匹配
4 查询条件用 or ,想要索引生效 or的每个字段都要加索引

浙公网安备 33010602011771号