两种SQL的写法
count()
SELECT count(*) FROM table
limit 1
SELECT 1 FROM table LIMIT 1复制代码
测评前提
引擎 : INNODB
表结构
先来看下表结构,并没有设置太复杂的。
explain
聪明的大家都会先explain一下,那就给大家看下。
limit 1
count
是的,相信大家看出来了,并没什么区别。那就实际数据开搞吧。
测评开始
第一轮测试
先插入它1000条数据看下。
count
limit 1
第二轮测试
继续插入1万条数据。
count
limit 1
经过第二轮的测试感觉时间差不多了。继续测。
第三轮测试
继续第三轮插入10万条看一下。
640
这执行已经有点卡了,我们稍微等一下,喝一杯茶(用了6分钟)。
OK,数据到位了。再来测一下。
count
limit 1
这轮下来limit 1 占据了上风的感觉。
第4轮测评
ok,继续第4轮的测评,再插入10万条吧,毕竟一次6分钟。
count
limit 1
现在越来越倾向于limit 1了。测试继续。
第5轮测评
继续插入10万条数据。
count
limit 1
第6轮测试
再插入20万条数据。
count
limit 1
都到这了,也不能偷懒,继续测。
第7轮测试
再插入20万条数据。
count
limit 1
效果更加明显了,继续吧,那就。
第8轮测试
再插入20万条数据。
count
limit 1
第9轮测试
最后一轮了,再插入10万条数据。
count
limit 1
最后
其实结果已经很明显,小编再把所有的测评结果总结到表格中,铁证如山。
总结
理论好固然重要,理论是可以从书中学习到的,经验可能需要我们自己去实现才能获
作者:Java小咖秀
链接:https://juejin.im/post/5ee05a41e51d4578912933eb