MySQL count(*)总结
来源:互联网 发布:数据库第七章答案 编辑:程序博客网 时间:2024/04/29 08:56
对于myisam存储引擎,使用count(*)会非常迅速,因为其存储引擎不支持行级锁,所以维护一个总条数的代价较小,其在存储引擎内部存储了总行数这个值,所以很容易就得出count(*)
对于innodb存储引擎,因为支持行级锁,一张表会有多个事务进行并发修改操作,每个事务都会影响总行数,所以为了不影响并发性,其存储引擎内部并没有维护这个总行数,自然count(*)需要遍历表中的每个记录来得出,所以特别慢
但是,myisam的count(*)非常快速返回,是有前提条件的,就是不可以带where条件查询,否则它一样需要走全表扫描,性能跟innodb的效果是一样的
另外,count(1)的性能和count(*)的性能是一样的,mysql的优化器会自动对count(*)进行优化,甚至是对count(1)也优化成count(*)的形式,而不会像一般我们想象的那样,将count(*)中的*展开成各个列
最后,count(*)和count(col)是不一样的,count(*)返回表中所有记录的总行数,而count(col)是返回表中col列的值不为NULL的总行数
0 0
- MySQL count(*)总结
- mysql 使用count()统计总结与思考
- mysql中count()统计总结与思考
- mysql count
- mysql count(1),count(*)问题
- mysql InnoDB的count(*)
- mysql count(*)查询问题
- MySQL COUNT SUM
- mysql优化(count 、rand)
- 【mysql】有条件的count
- MySQL之COUNT(*)效率
- mysql 中 case count
- Mysql中count(*),DISTINCT
- Mysql的count函数
- mysql count() 函数
- mysql count 用法
- mysql 计算count值
- MySQL Count()函数
- HDU2955_Robberies【01背包】
- 关于Log4j输出代码位置的说明
- emacs配置颜色主题
- Linux下查看文件权限、修改文件权限的方法
- 第16章、布局Layouts之GridLayout网格布局(从零开始学Android)
- MySQL count(*)总结
- java 排序算法实现 其一:冒泡排序
- INDITEX商标争夺战 中国公司赢了!
- node.js+redis消息队列
- ListView的Adapter使用 之 初学ArrayAdapter<String>
- poj2015--IP Address
- codeforces Round #263(div2) D解题报告
- ibatis dao模板
- 关于MySQL中的死锁