Mysql计数和连接

Mysql计数和连接,mysql,Mysql,例如,我需要获得存储在表1中的某些特定数据的计数,并进行连接以检查与表2的一些连接,我所需要的就是计数(*) 使用COUNT(id)比COUNT(*)快吗?据我所知,MYISAM表已经在内部引擎上缓存了计数,但当我执行诸如WHERE、JOIN之类的操作时,该缓存不再工作了,对吗?或者我应该创建一个过程或函数来加快速度?它会更快吗?计数(1)将是更好的选择,它将比计数更快(*)计数(id)与计数()不同-除非每行都有id。count(id)将对结果集中的每一个非空id进行计数count()将对结果

例如,我需要获得存储在
表1
中的某些特定数据的计数,并进行连接以检查与
表2
的一些连接,我所需要的就是
计数(*)


使用
COUNT(id)
COUNT(*)
快吗?据我所知,MYISAM表已经在内部引擎上缓存了计数,但当我执行诸如WHERE、JOIN之类的操作时,该缓存不再工作了,对吗?或者我应该创建一个过程或函数来加快速度?它会更快吗?

计数(1)将是更好的选择,它将比计数更快(*)

计数(id)与计数()不同-除非每行都有id。count(id)将对结果集中的每一个非空id进行计数count()将对结果集中的每一行进行计数。是否有支持此断言的引用?这是基本的通用规则。如果使用*则dB必须检查所有可用列,然后进行计数,但如果使用数字常量,则dB不会检查表结构、索引等,因此它会更快。这里有一个引用反驳了这一点,这里还有另一个