博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 多条件查询优化_MySQL 多条件多排序查询优化
阅读量:1539 次
发布时间:2019-04-21

本文共 667 字,大约阅读时间需要 2 分钟。

首先要说你建的索引是有问题的,where条件字段和order字段顺序影响很大,并且是不是需要把所有字段都加进去也有待商榷,你首先要确认你的结果集有多少(不进行limit的时候),如果结果集比较小的话,首选索引字段就是where条件里面的字段,就比如你的article_category_id、review_status、is_delete这三个字段,按照筛选率决定索引字段的顺序,筛选率高放在前面,如果排序时间还是很长的话那就把你的排序字段再加到索引里,记住要按顺序放在where字段的后面,一定。另一种情况如果你的结果集很大的话,比如已经占到了整表数据的很大一部分了,这时候limit就有用了,这时候按照排序字段加索引就比较合适了,再limit的作用下只需要找到满足条件的limit数目的记录即可,再差点你把where条件的字段加在排序字段后面会更快一点。不过看你的结果是把where条件字段加在了order字段后面,效率更低,这就说明了where条件的筛选率还是比较高的,才会导致按照排序索引的检索效率更差,所以综上所述:按照article_category_id、review_status、is_delete这三个字段价格索引应该就满足你需求了,不嫌索引占地方就把排序字段也加后面也没关系,就是这样article_category_id,review_status,is_delete,is_stick,release_time,update_time组成一个超大索引

说的有点多,不知道说明白没有。。也不知道你能不能看懂。。

转载地址:http://yrhdy.baihongyu.com/

你可能感兴趣的文章
我看小米
查看>>
6 月收租,送书。
查看>>
我竟无法反驳。。。
查看>>
这个时代,开发简单多了
查看>>
招人啦。。。
查看>>
说点你们不知道的大趋势
查看>>
说点劲爆的。。。
查看>>
韭菜的记忆只有三秒
查看>>
Google 发布首款微信小程序,各种灵魂画作出没!
查看>>
我还活着。。。
查看>>
富人思维与产品思维
查看>>
送书!60 本签名书!
查看>>
阻止不了我发声!
查看>>
我一直用它来记笔记
查看>>
说点大实话
查看>>
送点门票给大家
查看>>
某些人不要太过分!
查看>>
借了十几万的 p2p 跑路了。。。
查看>>
其实,我几乎很少看书!
查看>>
北京的房租到底有多高?
查看>>