`
dxm1986
  • 浏览: 435113 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

select count(*)和select count(1)的区别(转载)

 
阅读更多

select count(*)和select count(1)的区别(转载)

效果:两者的返回结果是一样的。

意义:当count的参数是具体值时如count(1),count('a'),count的参数已没有实际意义了。

范围:在统计范围,count(*)和count(1) 一样,都包括对NULL的统计;
           count(column) 是不包括NULL的统计。

速度:表沒有主键(Primary key),count(1)比count(*)快;
           否则,主键作为count的参数时,count(主键)比count(1)和count(*)都快;
           表只有一个字段,count(*),count(1)和count(主键)速度一样。

 

 

悲剧的一天就这样开始了。

分享到:
评论

相关推荐

    sql server中Select count(*)和Count(1)的区别和执行方式

    在SQL Server中,`SELECT COUNT(*)` 和 `COUNT(1)` 是两种常见的聚合函数,用于统计表中的行数。虽然在大多数情况下它们的结果相同,但它们的执行方式和背后的原理存在细微差别,这也是数据库优化中常常讨论的话题。...

    select count()和select count(1)的区别和执行方式讲解

    在SQL Server中Count(*)...Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。比如我们看代码1所示,在Count中指定NULL(优化器不允许显式指定NULL,因此

    Select count(*)、Count(1)和Count(列)的区别及执行方式

    综上所述,`COUNT(*)`、`COUNT(1)` 和 `COUNT([列])` 在功能上有细微差别,但它们的主要目标都是统计非NULL值的数量。在实际应用中,关注索引的优化和选择合适的列进行计数,是提升查询性能的关键。对于 `COUNT(*)`...

    mysql技巧之select count的区别分析

    1.测试环境 OS:LinuxDB:mysql-5.5.18table:innodb存储引擎 表定义如下: 2. 测试场景与分析【统计表group_message的... 通过上述测试结果可以看到,select count(*)和select count(1)都使用了group_id这个最短

    MySQL中count(*)、count(1)和count(col)的区别汇总

    本篇文章将详细解释COUNT(*)、COUNT(1)以及COUNT(column)这三种不同用法的区别。 1. COUNT(*) COUNT(*)是最常见的用法,它会计算表中所有非NULL的行。这意味着,即使列中有NULL值,COUNT(*)也会将其计入总数。在...

    mysql SELECT FOUND_ROWS()与COUNT()用法区别1

    在MySQL数据库中,`SELECT FOUND_ROWS()` 和 `COUNT(*)` 都是用来获取数据表中记录数量的方法,但它们之间存在一些关键的区别。了解这些差异对于优化查询性能和满足特定需求至关重要。 首先,`COUNT(*)` 是一个标准...

    分析MySQL中优化distinct的技巧

    上述场景中,用户遇到了一个问题:对一个10G以上的单表`user_access_xx_xx`执行`SELECT COUNT(DISTINCT nick)`以统计唯一用户访问(UV)时,即使有`nick`字段的索引,执行计划仍然显示全索引扫描,导致服务器性能受...

    为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?

    总结来说,`select count(*) from t`在InnoDB中比MyISAM慢主要是因为InnoDB的事务特性和MVCC机制导致的全表扫描。然而,InnoDB通过优化索引遍历来尽可能地提高效率。在实际应用中,为了提高查询速度,可以考虑创建...

    ASP中获得Select Count语句返回值的方法

    1. 构造SQL查询语句:首先,我们需要构造一个SQL查询语句,并在其中使用Select Count(*)表达式。为了能够在ASP代码中获取返回值,我们需要给查询结果设置一个别名,例如Total。别名是通过AS关键字来指定的,因此完整...

    MySQL中distinct和count(*)的使用方法比较

    1. 计算不重复记录数量:`SELECT COUNT(DISTINCT id) FROM tablename;` 这个查询将返回 `tablename` 表中唯一 `id` 值的数量。 2. 返回不重复的字段值:`SELECT DISTINCT id FROM tablename;` 此查询将返回 `...

    count(1)、count(*)与count(列名)的执行区别详解

    执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时...所以没必要去count(1),用count(*),sql会帮你完成优化的 因此: count(1)和count(*)基本没有差别!

    SQL注入语句大全-.判断有无注入点

    1.判断有无注入点 ; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等.....and 1<(select count(*) from admin) 4.猜解字段名称 在len( ) 括号里面加上我们想到的字段名称

    sql的left join和count应用

    (SELECT t1.WORD_ID, COUNT(1) AS tot FROM TPL t1 JOIN TPL t2 ON t1.WORD_ID = t2.FU_ID WHERE t1.FU_ID=-1 GROUP BY t1.WORD_ID) a2 ON a1.WORD_ID = a2.WORD_ID; ``` 这个查询首先创建了两个子查询...

    sql中null值对count的影响

    SELECT COUNT(*), COUNT(pid), COUNT(ISNULL(pid, '')) FROM tbl_user WHERE pid IS NOT NULL; ``` 结果是`(2, 2, 2)`,因为只有两行的`pid`不是`NULL`,且这两行中的`pid`被成功计数。 2. **只考虑`NULL`值的...

    SELECT IN SQL

    SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > 1; ``` 10. **ORDER BY子句** 使用`ORDER BY`对结果进行排序,可以指定升序`ASC`或降序`DESC`: ``` SELECT * FROM table_name...

    Oracle中的select大全

    以上是Oracle中`SELECT`语句的一些基本用法和高级技巧,通过这些示例和解释,希望能帮助读者更好地理解和应用`SELECT`语句。在实际工作中,根据不同的需求灵活运用这些技术,可以极大地提高数据查询和处理的效率。

Global site tag (gtag.js) - Google Analytics