不建议使用 force index()索引,使用联合索引就可以解决问题!!!

  最近解决mysql慢查询问题,先把sql大概说明下 

    select id from table where type = 1 and XX= xx and XX1= xx1 and XX2 = xx2  order by time desc

  再说一下背景,之前的开发人员建了两个索引 index_type和index_time, 结果mysql 一直是按照index_time索引来查找的,查询比较慢,后来有人想到用force index(index_type)解决,这样指定按照某个索引来查询,查询效率很高。但是指定索引就带来维护成本,比如哪天数据库改动需要删除索引index_type,如果忘记修改程序,程序必然会报错。

    最后是通过联合索引解决的,删除index_type,新建一个联合索引index_type_time,这样就很好的解决了问题。

    遇到的问题,记录下来,如果不小心帮到你了,倍感荣幸,欢迎批评指正讨论。欢迎关注我的微信公众号:javaSharing。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值