在项目应用中,开发经常需要同时取某个表的最大最小月份,碰到表数据量特别大时,运行的速度会很慢,这就要考虑优化了~
下面拿一张2900万+数据量的表演示:
-
一般写法,用时2.88s

-
优化后写法,用时0.167s

根据以上结果可以看出执行时间相差将近20倍,当然前提是统计字段上建有索引或者字段是分区字段,这个就不一一演示了,有兴趣的自己尝试一下~~~
原理也很简单,假设字段上有索引,那么min()/max()会直接从索引信息中取数。但是第一种写法,从索引一端开始查找:

而第二种写法会直接找到索引两端:

执行速度自然就快了!!!
-----------------------完---------------------------------
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




