Count(*)vs count(1)-SQL Server

Count(*)vs count(1)-SQL Server

只是想知道你们中有没有人用Count(1)过关Count(*)如果在性能上有明显的差异,或者这仅仅是一种从过去的日子中养成的传统习惯呢?

(具体的数据库是SQL Server 2005.)


阿波罗的战车
浏览 971回答 3
3回答

守着一只汪

在SQLServer中,这些语句产生相同的计划。与大众的观点相反,在甲骨文中,他们也是这样做的。SYS_GUID()在Oracle中,计算量很大。在我的测试数据库里,t_even是一张1,000,000行此查询:SELECT  COUNT(SYS_GUID())FROM    t_even竞选48秒,因为函数需要计算每个SYS_GUID()返回以确保它不是NULL.但是,这个查询:SELECT  COUNT(*)FROM    (         SELECT  SYS_GUID()         FROM    t_even        )竞选但是2秒,因为它甚至没有尝试评估SYS_GUID()(尽管*争论COUNT(*))
打开App,查看更多内容
随时随地看视频慕课网APP