Mysql count(*)与count(col)d对比

这里的知识点来源于博客总结

count(col):统计某列有值的结果数,即col is not null 的值

count(*): 统计表的字段数

MyISAM存储引擎

myisam引擎本身存储了一个特殊的字段,值是总行数

count(*): 会直接读取这个特殊的值,如果添加了where条件之后,并不能读取这个值,那么和其他存储引擎类似。可参考Innodb存储引擎。

count(col): 也无法读取特殊值。那么就会遍历字段col的值。

总结:count(*) 一般会比count(col)会快,因为count(*)可以忽略列而直接统计结果集行数。count(col)需要判断值是否为空

InnoDB存储引擎

总结:count(*) 一般会比count(col)会快,因为count(*)可以忽略列而直接统计结果集行数。count(col)需要判断值是否为空

参考博客:博客

posted @ 2022-05-09 22:16  雾里看花的少年  阅读(64)  评论(0编辑  收藏  举报