当前位置:操作系统 > Unix/Linux >>

difference between count(*) and count(col) in the query

difference between count(*) and count(col) in the query
 
1.建立测试表
declare
 l_sql varchar2(32767);
begin
  l_sql:='create table t(';
  for i in 1..999
  loop 
  l_sql:=l_sql||'n'||i|| 
' number, ';
  end loop;
  l_sql:=l_sql||'pad varchar2(50)) pctfree 10';
  execute immediate l_sql;
end;
/
这里是建议一张999个字段的表
2.插入数据
declare
 l_sql varchar2(32767);
begin
 l_sql:='insert into t select ';
 for i in 1..999
 loop
  l_sql:=l_sql|| '0,';
 end loop;
 l_sql:=l_sql|| 'null from dual connect by level<=10000';
 execute immediate l_sql;
 commit;
end;
/
插入10000条数据
3.查看执行的时间
DECLARE
  l_dummy PLS_INTEGER;
  l_start PLS_INTEGER;
  l_stop PLS_INTEGER;
  l_sql VARCHAR2(100);
BEGIN
  l_start := dbms_utility.get_time;
  FOR j IN 1..20
  LOOP
    EXECUTE IMMEDIATE 'SELECT count(*) FROM t' INTO l_dummy;
  END LOOP;
  l_stop := dbms_utility.get_time;
  dbms_output.put_line('COUNT星20次的时间是:'||to_char((l_stop-l_start)/100,'0.99'));
 
  FOR i IN 1..250
  LOOP
    l_sql := 'SELECT count(n' || i || ') FROM t';
    l_start := dbms_utility.get_time;
    FOR j IN 1..20
    LOOP
      EXECUTE IMMEDIATE l_sql INTO l_dummy;
    END LOOP;
    l_stop := dbms_utility.get_time;
    dbms_output.put_line('COUNT各列20次的时间是:'||to_char((l_stop-l_start)/100,'0.99'));
  END LOOP;
END;
/
 
输出结果:
COUNT星20次的时间是: 0.14
COUNT各列20次的时间是: 0.14
COUNT各列20次的时间是: 0.15
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.15
COUNT各列20次的时间是: 0.15
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.15
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.16
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.17
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.18
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.19
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.20
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.21
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.22
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.23
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.24
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.25
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.27
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.27
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.27
COUNT各列20次的时间是: 0.26
COUNT各列20次的时间是: 0.27
COUNT各列20次的时间是: 0.27
COUNT各列20次的时间是: 0.27
COUNT各列20次的时间是: 0.27
COUNT各列2
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,