总结阿里专家mysql讲解笔记

文章目录

观点

  1. 数据库mysql底层是由B+树构成,是平衡树
  2. 树高=主键+所有列长度(主键在分支节点上 16kb,所以varchar 20 就满了,所以varchar作为主键类型是不妥的)
  3. 其次树高决定数据查询的快慢,所以说尽量树高比较矮会好些在这里插入图片描述
  4. 依据上面的树高结论,我们可以知道如果表列很多的话,可以分到多张表,让树高矮一点。
  5. 分支因子能储存更多的话,越能省内存。所以在设计索引的时候,要注意索引类型设计
  6. 自增主键避免拆开树,so主键一般是顺序的。主键是为了构造这棵树。这个有个问题:业务尽量不要用主键去关联,这是为啥?虽然主键查询很快,但是像select * from xx 他就不一定是使用主键去查询的,而是查询最短索引,也就是索引结构更短。
  7. 索引加上查询字段,避免回表,空间换时间。但是这个查询字段不能经常修改,不然也会掰断二叉树的分支节点。
  8. 锁一般加主键和索引上。
  9. 索引可以避免order by进行排序,比如where a = x and b = x and c = x order by c,只有a,b是常量的时候,我们可以不用写order by c如果我们建a,b,c为索引的话。
  10. 索引建立原则:区分度高。像性别这种区分度不高的,会让mysql在查询的时候区别不大。
  11. sql如果有大于等于号,要先写等于号,再写大于号。就一定会用上索引。然后字段经常改的,要放在后面。
  12. 索引不要使用hash类型,这个只使用等值的情况,如果大于小于等等不能用到的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值