MySql索引的一些资料

MySql索引的一些资料

Innodb索引

  1. 建立索引就是对数据进行排序,排序就是比较大小,B+树其实就是帮助我们排序的一种数据结构。PS mysql 8.0 才支持索引降序排序
  2. Where条件能否利用索引本质上就是看条件能不能和某个B+树索引进行比较大小。
  3. 最左前缀原则:本质上就是对由多个字段联合组成的复合字段进行大小比较,类似字符串比较大小,只有给定了最左侧的字段,才能去比较后续的字段。
  4. 全表扫描:在Innodb中,表中的所有主键索引都是在叶子节点中,所以全表扫描就是扫描主键索引的叶子节点。
  5. 覆盖索引:对于某个SQL在执行时,如果发现所要查询的数据在某一个索引上也存在时(除开主键索引),那么就可以直接利用这个索引就行查询获取数据,,不需要回表插寻,
  6. 索引条件:当某些条件因为不符合最左侧前缀原则,无法参与索引的执行时,在MySQL5.7之前,该条件会在索引数据回表后在Mysql Server层执行然后过滤数据,而在MySQL5.7之后,该条件会在执行索引后,回表前就执行过滤动作,相当于该条件的执行下沉了,也可叫索引条件下推。
  7. 在MySQL中,数字与字符串进行运算时,统一会将字符串转换为数字,非数字字符会统一转化为0.

思考

  1. 为什么说一个表超过2000多万条数据以上的表就是大表?
  2. 为什么使用MySQL的limit 分页时,页数越靠后执行越慢,怎么样优化?
  3. 在创建时索引时,需要考虑哪些因素,在选择字段时需要考虑哪些因素?
  4. 索引与MySQL的锁有关系么?
  5. 查询优化器是如何优化SQL和选择索引的?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值