首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

select count(一)或select count(*)

2012-08-25 
selectcount(1)或selectcount(*)1、select 1 与 select *的区别 ??? selelct 常量 from ... 对应所有行,返

select count(1)或select count(*)

1、select 1 与 select *的区别
??? selelct 常量 from ... 对应所有行,返回的永远只有一个值,即常量 。所以正常只会用来判断是否有还是没有(比如exists子句)。而select * from ... 是返回所有行的所有列。
??? 性能上的差异,关键看你的from和where子句。比如说如果你的where条件中可以通过索引,那显然 select 1 from ... 的性能比 select * from ... 好。
2、select count(1)与select count(*)的区别
?? 跟表结构有关系:
?? 如果表中没有主键,那么count(1)比count(*)快
?? 如果有主键,那么count(主键,联合主键)比count(*)快
?? 如果表中只有一个字段,count(*)最快
3、select sum(1)的使用
?? select count(*)返回所有满足条件的记录数,此时同select sum(1)
?? 但是sum()可以传任意数字,负数、浮点数都可以,返回的值是传入值n*满足条件记录数m

热点排行