1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql大于等于between比较_MySQL范围查询优化 Between与大于等于对比及优化

mysql大于等于between比较_MySQL范围查询优化 Between与大于等于对比及优化

时间:2021-05-29 21:14:01

相关推荐

mysql大于等于between比较_MySQL范围查询优化 Between与大于等于对比及优化

此博文带有强烈的业务倾向性,不适用所有场景,我的业务,最终结果只会出现1条结果。

直接上SQL,然后逐一分析(所有Where查询条件,都有索引),如果你是新手(好吧,其实我也是新手),可以自行分析下,哪条查询效率最佳:

SELECT * FROM XXX_0 WHERE XXX_START >= 0 AND XXX_END <= 0;

SELECT * FROM XXX_0 WHERE XXX_START <= 0 AND XXX_END >= 0 LIMIT 1;

SELECT * FROM XXX_0 WHERE 0 BETWEEN XXX_START AND XXX_END;

SELECT * FROM XXX_0 WHERE 0 BETWEEN XXX_START AND XXX_END LIMIT 1;

SELECT * FROM XXX_0 WHERE XXX_START >= 0 LIMIT 1;

五条SQL,依次编号为:0-4。

0和1,都是通过>&

2和3,情况貌似和0、1差不多,但其实有差别的,大于等于查询,如果没有limit的话(相信对结果的数目也有限制),无法被一级缓存缓存,而between的结果,则能够被缓存。所以,如果能用between,那么就不要使用大于等于了。

4,根据我的业务,这才是最优查询,为什么呢?我只需要使用一个索引,这无疑降低了IO开销,同时,使用LIMIT 1保证匹配到一条数据后,就不再往下查询,提升了执行效率,还有就是一级缓存的使用了。

PS:SQL优化真是博大精深啊,还有,用BETWEEN的时候注意顺序噢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。