理解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