❝之前发过一个文章SQL查找是否"存在",别再count了,很耗费时间的,小伙伴之前问我能不能出一个实际的测评啊,安排。❞
SELECT count(*) FROM table WHERE a = 1 AND b = 2
SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1
先来看下表结构,并没有设置太复杂的。
explain
聪明的大家都会先explain一下,那就给大家看下。
是的,相信大家看出来了,并没什么区别。那就实际数据开搞吧。
先插入它1000条数据看下。
其实这么看结果还挺明显的。继续测试,再来插入10000条数据我们来看一下。
经过第二轮的测试感觉时间差不多了。继续测。
继续第三轮插入10万条看一下。
这执行已经有点卡了,我们稍微等一下,喝一杯茶。
OK,数据到位了。再来测一下。
这轮下来limit 1 占据了上风的感觉。
ok,继续第4轮的测评,再插入10万条吧,毕竟一次6分钟。
现在越来越倾向于limit 1了。测试继续。
继续插入10万条数据。
再插入20万条数据。
image
都到这了,也不能偷懒,继续测。
再插入20万条数据。
效果更加明显了,继续吧,那就。
再插入20万条数据。
最后一轮了,再插入10万条数据。
其实结果已经很明显,小编再把所有的测评结果总结到表格中,铁证如山。
这结果可以说limit 1 取得了最终的胜利。