count(*) 与count(1)与count(主键)
2017-09-01 14:28
197 查看
一 如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null.
如:
ID DD
1 e
2 null
select count(*) from table --结果是2
select count(DD) from table ---结果是1
有说count(1)效率高,感觉差不多..没啥区别
二 不考虑Null的情况
count(1)和count(主键) 这两个只扫描主键Index就可以得到数据,
count(*)是扫描表的。
所以count(1)和count(主键)这两个效率高。
还有一种写法是count(ROWID)这也是只扫描Index的,效率高。
如:
ID DD
1 e
2 null
select count(*) from table --结果是2
select count(DD) from table ---结果是1
有说count(1)效率高,感觉差不多..没啥区别
二 不考虑Null的情况
count(1)和count(主键) 这两个只扫描主键Index就可以得到数据,
count(*)是扫描表的。
所以count(1)和count(主键)这两个效率高。
还有一种写法是count(ROWID)这也是只扫描Index的,效率高。
相关文章推荐
- count(*),count(1)和count(主键)的区别
- mysql count(*)和count(id) id为主键
- select count(*)、count(1)、count(主键列)和count(包含空值的列)有何区别?
- 单表-------主键、外键、选择操作,like操作符,in 批量查询、排序order by、表的复杂查询---分组函数(max/min/agv/sum/count)、group by、having
- 【mysql优化】mysql count(*)、count(1)、count(主键字段)、count(非主键字段)哪个性能最佳
- count(*),count(1)和count(主键) 区别
- 【优化】COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)等
- count(*),count(1)和count(主键)的区别
- hibernate中主键与unsaved-value关系(Batch update returned unexpected row count from update)
- count(*),count(1)和count(主键)的区别
- Oracle里count(1)、count(*)和count(主键)哪个更快
- 【优化】COUNT(1)、COUNT(*)、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名)
- 使用mybatis,在添加数据的时候返回主键,当查询count和属性字段怎么接收返回数据
- Oracle查询数据总数-根据count(主键),在ssh项目中
- SPOJ - COT Count on a tree 树上主席树+LCA+任意路径问题
- mysql中innodb表的count
- 9.Hibernate双向基于主键的1-1映射
- LeetCode-Count Prime
- Linq:切勿使用 Count() > 0 来判断集合非空
- spark下载安装和第一个Wordcount程序