教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 理解myisam和innodb中count(*)的区别

理解myisam和innodb中count(*)的区别

发布时间:2015-12-15   编辑:jiaochengji.com
介绍下mysql中myisam与innodb存储引擎中,使用count(*)查询数据时的一些区别。有需要的朋友,参考下吧。

有关mysql中innodb与myisam引擎,在使用count(*)时的一些区别:
1,myisam保存表的总行数,因此count(*)并且无where子句,很快会返回表的总行数。

2,myisam保存表的总行数,利用count(column)并且无where子句,并且此column不为null,很快会返回表的总行数。

3,myisam保存表的总行数,利用count(column)并且无where子句,并且此column可以为null,mysql会对表进行全表或全索引扫描来确定行数。

4,innodb查询count(*),count(column(not null)),count(column(may be null))并且无where子句,mysql会对表进行全表或全索引扫描来确定行数。

5,myisam和innodb查询count(*),count(column(not null)),count(column(may be null))并且存在where子句,mysql会对表进行索引扫描(如果列上有索引),速度也比较
快。

您可能感兴趣的文章:
理解myisam和innodb中count(*)的区别
mysql innodb优化配置方法分享
MySQL正确的myisam转innodb的方法
mysql数据库引擎MyISAM与InnoDB的区别详解
《2019年小米春季上海 PHP 实习生招聘面试题》部分答案解析
mysql innodb数据库批量转换表引擎为MyISAM的方法
关于mysql中innodb的count优化问题
mysql myisam转innodb的二种方法
修改mysql默认存储引擎的方法
mysql 索引优化之btree、hash与rtree

[关闭]
~ ~