当前位置: 代码迷 >> J2SE >> count(*)与count(emp_no)差别很大不?解决办法
  详细解决方案

count(*)与count(emp_no)差别很大不?解决办法

热度:89   发布时间:2016-04-24 12:28:55.0
count(*)与count(emp_no)差别很大不?
有mysql中的一张表,300万条记录左右,count(*)比count(emp_no)快了0.05s左右,这两种方式差距不是很大吧?

------解决方案--------------------
这要看DBMS具体底层的实现,好像在数据库专区有见过帖子,是讨论count(*)跟count(name)二者之间的效率问题。
------解决方案--------------------
速度影响 不大 ,但尽量不要用count(*)
------解决方案--------------------
count(*) count(emp_no) count(1) 三者的区别不是很大 300W的记录就更没有什么压力了 跟玩似的
------解决方案--------------------
http://topic.csdn.net/u/20110902/20/50d79389-08a2-46f8-a3b8-8e2e014608fe.html?25829
------解决方案--------------------
探讨
http://topic.csdn.net/u/20110902/20/50d79389-08a2-46f8-a3b8-8e2e014608fe.html?25829

------解决方案--------------------
有点差异吧!!
------解决方案--------------------
count(*)比count(emp_no)

如果emp_no有null的情况count(emp_no)会不做统计的,但count(*)会做统计
------解决方案--------------------
上百万的记录最好不要全部count(*)
------解决方案--------------------
如果emp_no有null的情况count(emp_no)会不做统计的,但count(*)会做统计

另外要看查询的字段是否是主键
------解决方案--------------------
探讨

count(*)比count(emp_no)

如果emp_no有null的情况count(emp_no)会不做统计的,但count(*)会做统计

------解决方案--------------------
影响很大,300W的数据看不出问题来,太少。
------解决方案--------------------
学习了
  相关解决方案