优化一:
如果我们想要统计一张表共有多少条记录,有很多人很快会想到这条sql语句:
select count(*) from table
但是,这样的统计方法 如果遇到 bw 级别的数据量时,会不会很...慢呢?
如果是 bw 级别的数据,我们可以使用如下 sql 语句来统计数目:
select count(1) from table
这样,数据库在统计过程中,仅仅只会统计第一列有多少条数,结果是我们想要的,而且性能得到了优化。
如果是 kw 级别的数据 程序会不会死机了呢?
如果是 kw 级别的数据 还让你统计条数,无非两个情况:
一:你用的不是 pc, 是性能良好的大型机。
二:你的 leader 疯了(呵呵,开个玩笑 (*^__^*) )
如果是 kw 级别的数据量,一般在设计数据库的时候,就会为该表配置一张 字典表 设置一个字段 来统计该表的记录条数,或其它行之有效的方法来统计表中的条数,而不会让你用sql语句来统计的。
优化二:
在程序开发中(不是直接写sql哦), 通常我们在查询某一条记录是否在数据库中存在,
我们通常会使用这样的sql语句:
select * from table where name=''
或
select id from table where ...
然后看是否有结果集的出现,来从程序中判断是否有该条记录,但这样写往往是这个程序的方法变得不可复用。
我们将这样的语句改为:
select 1 from var1 where var2 = var3
-- var1 var2 var3 分别从程序方法中传入进来
这样的话,我们就可以做一个方法,只有三个参数 表名 条件