浅谈mysql索引优化

浅谈mysql索引优化

mysql优化分为很多种:包括基础设施优化、 配置优化、表结构优化、sql语句优化等,其中sql语句优化的成本是最低的,因此我们优化mysql时最先考虑的就是mysql语句优化。说到mysql语句优化,就离不开mysql索引,mysql优化器也会对sql与进行大量的优化,当然这个也是依据我们的配置来的。

mysql索引优化的种类

where条件优化、范围优化、索引合并优化、哈希连接优化、索引条件下推优化(ICP)等。

where条件优化

sql优化器会根据联合索引的顺序对where条件进行重排序;
sql优化器会将多个条件合并,如:where b>2 and b=5 and b<6 or b>3 and b=4 会被优化为where b>2,我们只需要按照易于阅读的方式写sql即可。
执行计划时,在extra字段里的:using where,可能指的就是这个,即用到了条件过滤。

范围优化

如果用了范围优化,type字段里是ref,extra字段里可能是:Using index for skip scan,前提是系统变量中设置:skip_scan=on。 range_optimizer_max_mem_size 这个配置可以设置优化器执行范围优化时可用 的内存大小,设置0则无限制。

索引合并优化

如果用到了索引合并优化,则在extra中值为:Using intersect、Using union、

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值