欢迎来到 常识词典网 , 一个专业的常识知识学习网站!

[ Ctrl + D 键 ]收藏本站

您所在的位置:首页 > 教育学习 > 百科

百科

mysql select count(*) 与 select count(id) 两个执行效率怎样?

分类: 百科 常识词典 编辑 : 常识 发布 : 03-11

阅读 :178

mysql select count(*) 与 select count(id) 两个执行效率怎样?3 个答案

答案 1:

1. 这中间还存在逻辑的差异,count(*)是查询表记录多少行,count(col)是查询(not null)的个数的;2. 假设是myisam引擎,记录数是结构的一部分,已经cac-e在内存中了,很快就可以得到结构,而innodb仍然需要计算,id如果是主键索引的话,无疑会加快速度;3. 你需要考虑加了w-ere字句的情况.

答案 2:

myisam 没有w-ere子句 可以直接得出myisam会记录总行数很快myisam有w-ere子句和innodbmysql select count(*) 与 select count(id)的效率没有太大差距,都扫描全表或者w-ere之后的结果,累加可能得到的结果不同count(ID)只会计算 not null值

答案 3:

count(*) mysql会转为 count(1), count(ID)只会计算 not null值

下一篇:请教yet的用法:作副词和作连词是的用法和意思 下一篇 【方向键 ( → )下一篇】

上一篇:未来想在 IT 界创业的大学生适合读哪个专业的研究生? 上一篇 【方向键 ( ← )上一篇】