count和limit的奇淫巧技
当我们做项目的时候,发现有些数据表会非常的大。
这个时候难免会有需要查询某条数据存在不存在的时候。我们以往的方法就是通过count
或者find
查询是否存在这样的一条数据
就比如如下的mysql代码
CodeBlock Loading...
然而我的i9+纯固态的mysql在百万级数量中查询都需要接近0.2秒左右。效率总得来说 是比较慢的。
测试
首先。我们用大量数据做个时间测试。先建表再添加百万条数据
CodeBlock Loading...
然后。咱们再来看find
、count
的执行时间效率
CodeBlock Loading...
最终就是奇淫巧技了
CodeBlock Loading...
有人说count(主键)
或者count(0)
和count(*)
相比,count(0)
和count(主键)
的速度要快很多。然而在百万数据的数据表上并没有比较出来这样的性能。
CodeBlock Loading...
由此可见count(0)
和count(主键)
的性能与count(*)
基本一致
而查询数据是否存在limit会更加的具有优势