码迷,mamicode.com
首页 > 其他好文 > 详细

select count(*)和select count(1)哪个性能高

时间:2014-06-16 00:23:54      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:set         时间   io   file   

一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的

假如表沒有主键(Primary key), 那么count(1)比count(*)快,

如果有主键的話,那主键作为count的条件时候count(主键)最快

如果你的表只有一个字段的话那count(*)就是最快的

count(*)是什么意思?事实上,它真正的含义是找一个占用空间最小的索引字段,然后对它进行记数,不要一看到*就认为“大”,在count命令中,它指的是“任意一个“。

对于一个大表来说,如果你的字段有bit类型,如性别字段,表示真假关系的字段,我们需要为它加上索引,加上之后,我们的count速度就提交几十倍

count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计

 

 

SET STATISTICS IO ON--查看IO开销
SET STATISTICS PROFILE ON--查看分析、编译和执行查询所需的时间
SET STATISTICS TIME ON--查看语句运行的时间


SELECT COUNT(1)
FROM [ECS.HOMEI.GN].[dbo].[UserInfo]


SELECT COUNT(*) FROM [ECS.HOMEI.GN].dbo.UserInfo

select count(*)和select count(1)哪个性能高,布布扣,bubuko.com

select count(*)和select count(1)哪个性能高

标签:set         时间   io   file   

原文地址:http://www.cnblogs.com/yxlblogs/p/3784257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!