在之前在医院的工作中遇到过,对于sql的优化,很多人认为count(1)要比count(*)快,让我一直以为确实是这样,后来发现其实并不是。在相同的表中查询,没有主键的情况下,查询速度相差并不大,进入后台,会发现,其实count(1)在后台被自动转化为count(*)了

下面是其他大牛的结论,引用一下

关于count(1)和count(*)效率区别和差异_主键

还有一种count(列),这中查询方法和count(*)的相同点是他们都是不查null的,所以他们的区别也是在此,当一条数据中某个字段例如DD为null,其他不为null时,count(*)和count(DD)的查询结果就不一样,count(*)为1,count(DD)为0。具体使用看情况