社区
疑难问题
帖子详情
请看一下Select Count(*) From TableName与Select ID From TableName在性能上有什么差别
luoqing
2002-11-27 04:23:02
假若数据库中的该表有100万条记录.
请看一下Select Count(*) From TableName与Select ID From TableName在性能上有什么差别
我有SQL Server性能分析了一下好像除了I/O性能不同外其他大致相同.比为都是遍历整个表.
...全文
143
10
打赏
收藏
请看一下Select Count(*) From TableName与Select ID From TableName在性能上有什么差别
假若数据库中的该表有100万条记录. 请看一下Select Count(*) From TableName与Select ID From TableName在性能上有什么差别 我有SQL Server性能分析了一下好像除了I/O性能不同外其他大致相同.比为都是遍历整个表.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jery_lee
2002-11-28
打赏
举报
回复
count 就是取得查询条件记录的总数
id 只是取得最大的记录ID
可能不同!
gotoyangjm
2002-11-28
打赏
举报
回复
Count(ID)可能不行,如果中间有部分记录已经被删除了就得不到实际结果。
china_hfz
2002-11-27
打赏
举报
回复
senzz(森) 说法是对的
count(*) 和 count(1) 的值是不一样的
sunthing
2002-11-27
打赏
举报
回复
如果数据库记录连续:
select top 1 id from tablename order by id desc
leimin
2002-11-27
打赏
举报
回复
是大致差不多,应为SQL SERVER会自动优化,针对Select Count(*) From TableName与Select ID From TableName,SQL SERVER会自动根据CLUSTERED INDEX进行COUNT.
senzz
2002-11-27
打赏
举报
回复
我觉得
count(*) 的速度最快
SQL Server只扫描行数,不比较其内容是否为空。
count(id) 第二
SQL Server扫描id列,并比较是否为空
CrazyFor
2002-11-27
打赏
举报
回复
上面错了,
select count(id) from yourtable 应该是最快了。
CrazyFor
2002-11-27
打赏
举报
回复
select max(id) from yourtable
luoqing
2002-11-27
打赏
举报
回复
我没有带Where语句,这是整个遍历,而且上面的ID也聚簌索引.
再问个问题,怎样最快得到表中有多少记录?
CrazyFor
2002-11-27
打赏
举报
回复
如果你对ID加了索引,速度就快多了。
Select Count(*) From TableName会找表中的ID字段,如果发现
也就是selelct count(ID) from tabelname
Hive SQL 语义分析:
select
count
(*) from
table
Name
从客户端提交一个 Hive SQL 到 Driver 提交 MapReduce Job,有一个对SQL进行词法分析和语义分析的过程,下面以
select
count
(*) from
table
Name 来描述其过程。 一、词法分析 使用ANTLR分析SQL,生成语法树,每个...
MySQL灵魂十三问之第二问: 为啥
SELECT
* FROM
table
Name GROUP BY columnName语法报错?
MySQL灵魂十三问之第二问: 为啥
SELECT
* FROM
table
Name GROUP BY columnName语法报错?
mysql中
select
* from(
select
* from
table
)name 派生表别名
在编写mysql程序时遇见以下写法:
SELECT
clarify_issue.statistics_time FROM( ...不知道为什么
select
* from()后面为什么有
table
name,通过查询可知,当通过查询得到新的
table
时,必须有一个别名,即每个派生...
hive可以执行
select
* from
table
;“ 却无法执行"
select
count
(*) from
table
;"
而执行"
select
count
(*) from
table
;"需要启动mapreduce任务。解决方法看执行过程的错误信息,我得到的信息是当前用户对于hdfs文件系统的/user文件夹没有写权限,只要开放权限,就可以解决问题。
【SQL Server】sql中去除重复的数据
select
distinct * from
table
总的思路就是先找出表中重复数据中的一条数据,插入临时表中,删除所有的重复数据,然后再将临时表中的数据插入表中。所以重点是如何找出重复数据中的一条数据,有三种情况 ...
select
* from
table
where
id
in(...
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章