记一次索引失效

记一次索引失效

公司的演示环境有个请求页面非常慢,得响应十几二十秒,需要对其进行优化.经过分析发现有个sql执行特别慢,每次都得十几秒. 而其他的类似表的数据执行只有几百毫秒.分析两者的查询sql除业务表外完全一致.使用explain分析执行计划,发现走的是全表扫描,而另一张业务表走的是索引.两张表都是只有主键索引.
猜想是否跟表的字段数量有关,遂对有问题的表进行重建,重建之后发现走的是索引,表的字段完全一致.那问题出在哪里呢?然后查看了下建表语句,发现两张表的编码格式不一致,演示环境的表用的是utf8mb4,而查询快的表用的是utf8.遂修改表和字段的默认编码为utf8,再次查询几百毫秒就出来了.
这其实就是索引失效问题,只不过不是出现在字段的不合理使用上,而是出在编码上.
注意:表的存储引擎、字段数据类型或者字符集引起的隐性转换都会导致索引失效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值