社区
基础和管理
帖子详情
count(*) 与count(列名)的区别
aprilangela
2008-09-04 11:35:43
恩 我记得有个 * 有个可以查出null 的信息 这个null 指的是什么?那一列为null?? 条件列么? 其实还是有点糊涂
那个,除此之外 还有什么? count (*) 会用到索引??
今天面试因为这个题被鄙视了... 郁闷死了 还顺便鄙视我们老师。
我不就一应届生吗 至于这么鄙视我么!!居然因为count(*) 还是count(主键列)的问题 说我sql 有问题.....
各位师兄师姐帮帮忙吧~~
...全文
296
3
打赏
收藏
count(*) 与count(列名)的区别
恩 我记得有个 * 有个可以查出null 的信息 这个null 指的是什么?那一列为null?? 条件列么? 其实还是有点糊涂 那个,除此之外 还有什么? count (*) 会用到索引?? 今天面试因为这个题被鄙视了... 郁闷死了 还顺便鄙视我们老师。 我不就一应届生吗 至于这么鄙视我么!!居然因为count(*) 还是count(主键列)的问题 说我sql 有问题..... 各位师兄师姐帮帮忙吧~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oracledbalgtu
2008-09-05
打赏
举报
回复
count(*) 和 count(主键列)得到的结果会始终一样,因为主健不会为空。
count(*) 会把null列也计算在你,不管你是一列为null,还是所有column都为null;
count(columname) 只把列内容不是null的计算,是null的忽略。
[Quote=引用楼主 aprilangela 的帖子:]
恩 我记得有个 * 有个可以查出null 的信息 这个null 指的是什么?那一列为null?? 条件列么? 其实还是有点糊涂
那个,除此之外 还有什么? count (*) 会用到索引??
今天面试因为这个题被鄙视了... 郁闷死了 还顺便鄙视我们老师。
我不就一应届生吗 至于这么鄙视我么!!居然因为count(*) 还是count(主键列)的问题 说我sql 有问题.....
各位师兄师姐帮帮忙吧~~
[/Quote]
chqchq
2008-09-05
打赏
举报
回复
COUNT(*)返回表中所有的行,包括空行和重复的行。
COUNT(列名)返回该列不为空的所有行。
count(*)会用到索引,但是前提是索引的列中没有null值,null值是不出现在索引中的。
aprilangela
2008-09-05
打赏
举报
回复
谢谢,索引啊~~ 好郁闷
为什么阿里巴巴禁止使用
count
(
列名
)或
count
(常量)来替代
count
(*)1
介绍完了
COUNT
(*),接下来看看
COUNT
(1),对于,这者到底有没有
区别
,上的说法众说纷纭。有的说
COUNT
(*) 执时会转换成
COUNT
(1) ,所
count
(1)、
count
(*)与
count
(
列名
)的执行
区别
详解
执行效果: 1.
count
(1) and
count
(*) 当表的数据量大些时,对表作分析之后,使用
count
(1)还要比使用
count
(*)用时多了! 从执行计划来看,
count
(1)和
count
(*)的效果是一样的。 但是在表做过分析之后,
count
(1)会比
count
(*)的用时少些(1w以内数据量),不过差不了多少。 如果
count
(1)是聚索引,id,那肯定是
count
(1)快。但是差的很小的。 因为
count
(*),自动会优化指定到那一个字段。所以没必要去
count
(1),用
count
(*),sql会帮你完成优化的 因此:
count
(1)和
count
(*)基本没有差别!
JSP请求与响应对象的使用入门
内容包括:请求与响应对象-1-项目环境搭建、请求与响应对象-2-新建login.jsp、请求与响应对象-3-编写A
count
.java文件、请求与响应对象-4-编写CheckA
count
.java文件、请求与响应对象-5-编写Success.jsp文件、请求与...
Select
count
(*)、
Count
(1)和
Count
(列)的
区别
及执行方式
在SQL Server中
Count
(*)或者
Count
(1)或者
Count
([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。 往常我经常会看到一些所谓的优化建议不使用
Count
(* )而是使用
Count
(1),从而可以提升性能,给出的理由是
Count
( *)会带来全表扫描。而实际上如何写
Count
并没有
区别
。
Count
(1)和
Count
(*)实际上的意思是,评估
Count
()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。比如我们看代码1所示,在
Count
中指定NULL(优化器不允许显式指
【优化】
COUNT
(1)、
COUNT
()、
COUNT
(常量)、
COUNT
(主键)、
COUNT
(ROWID)、
COUNT
(非空列)等
BLOG_Oracle_lhr_【优化】
COUNT
(1)、
COUNT
()、
COUNT
(常量)、
COUNT
(主键)、
COUNT
(ROWID)、
COUNT
(非空列)、
COUNT
(允许为空列)、
COUNT
(DISTINCT
列名
).pdf
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章