关于select

  1. select 1与select * 的区别:
    “selelct 常量 from 表名” 对应所有行,返回的永远只有一个值,即常量 ,所以一般只用来判断是否有表记录;
    而“select * from 表名” 是返回所有行的所有列。
    性能上的差异,关键看from和where子句。如果where条件中可以通过索引,那显然 “selelct 常量 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
原文地址:https://www.cnblogs.com/xianDan/p/4292703.html