当前位置: 代码迷 >> SQL >> sql 话语优化
  详细解决方案

sql 话语优化

热度:38   发布时间:2016-05-05 14:06:45.0
sql 语句优化

优化一:

如果我们想要统计一张表共有多少条记录,有很多人很快会想到这条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  分别从程序方法中传入进来

?这样的话,我们就可以做一个方法,只有三个参数? 表名? 条件

?

  相关解决方案