mysql调优

一 基础知识

explain 解析

id有多个值的时候 大的先执行
select_type

table

用到的表
partitions分区
type连接类型(至少到ref)system、const、eq_ref、ref。。。
possible_keys可能选择的索引为空表示没有索引
key实际选择的索引实际使用索引
key_len索引长度越小越好(和字段类型和字符编码有关)
ref索引的哪一列被引用了
rows被扫描的行
filtered
extrea

 

二叉树

平衡二叉树

B-Tree

B+Tree

B-Tree 和B+Tree 对比

  • B+Tree 树非叶子节点只存储索引不存储数据,B-Tree 树非叶子节点存储索引和数据。
  • B+Tree叶子节点数据有索引。对于范围查询的数据更好

二 索引

创建索引的条件

  • 经常作为条件的字段(注意最左原则)
  • 分组、排序、去重、唯一性约束
  • 连接字段(注意连接字段类型保持一致否则可能隐式转换索引失效)的字段作为索引

 不建议创建索引

  • 表的记录数据比较少
  • 大量重复的数据(索引效率会变低)
  • 频繁更新的字段(索引维护开销)

索引失效的场景

  • 使用了左模糊 
  • 使用 OR 的部分字段没有索引
  • 字符串条件未使用 ‘ ’ 引起来
  • 不符合最左原则
  • 隐式转换
  • 使用了表达式 或者函数 (eg: where  age+1=18  .  where substring(name,1,3)='zhang'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值