手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sql server中Select count(*)和Count(1)的区别和执行方式
sql server中Select count(*)和Count(1)的区别和执行方式
摘要:在SQLServer中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(优化器不允许显式指定NULL,因此需要赋值给变量才能指定)。

DECLARE @xx INT SET @xx=NULL SELECT COUNT(@xx) FROM [AdventureWorks2012].[Sales].[SalesOrderHeader]

【sql server中Select count(*)和Count(1)的区别和执行方式】相关文章:

sql server 2008 用户 NT AUTHORITYIUSR 登录失败的解决方法

sql server停止和重启命令

sqlserver 2000 远程连接 服务器的解决方案

SQLServer 通用的分区增加和删除的算法

Sql Server中的事务介绍

sql server 临时表 查找并删除的实现代码

sqlserver 中ntext字段的批量替换(updatetext的用法)

SQL Server 2005 中做全文检索的方法分享

mssql server .ldf和.mdf的文件附加数据库的sql语句

sql server 2008安装过程中服务器配置出错解决办法

精品推荐
分类导航