MySql索引小姿势

文章介绍了数据库索引的两种主要类型——Hash索引和B+Tree索引,Hash索引查询速度快但不支持范围查询,而B+Tree支持有序操作。同时,列举了导致索引失效的多种情况,如类型转换、模糊查询、函数运算等,并提到了索引的分类,包括主键、唯一、常规和全文索引。
摘要由CSDN通过智能技术生成
1.数据库索引常用数据结构有两种:Hash索引与B+Tree索引

Hash索引查询速度高于B+Tree,但不支持范围查询,通常检索需要次数两到三次,是通过字段key进 行hash计算,插入对应hash槽中,如果计算值相等,会形成单链表方式存储

B+Tree索引在B-Tree结构上进行优化,所有key经过排序后,非叶子节点不存储data,只存储索 引,所有值存储在叶子节点,叶子节点包含所有索引字段,形成双向链表

2.查询时什么情况下会导致索引失效?

1.使用等值查询字符串没有带分号(会导致隐式类型转换)

2.模糊匹配查询的百分号在前面会导致索引失效

3.联合索引没有遵循最左前缀法则,或者跳过中间字段会导致后面索引失效,不是全部失效(联合索引失效)

4.使用函数运算失效

5.使用范围查询大于号会失效,尽量使用大于等于,小于,小于等于

6.使用or连接条件,如果一侧有索引一侧没有索引会导致索引失效

7.如果MySql评估走全表扫描比走索引快会优先选择全表扫描,使索引失效

3.索引分类
分类
含义
特点
关键字

主键索引

针对表中主键创建索引

默认创建,只能有一个

PRIMARY

唯一索引

避免同一个表中某数据列中值重复

可以有多个

UNIQUE

常规索引

快速定位特定数据

可以有多个

全文索引

全文索引查找的是文本中的关键字,而不是比较索引中的值

可以有多个

FULLTEXT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值