test5

大家在statspack报告中经常会去查看top5的语句,但想得到top5语句,其实非常之简单,完全没有必要兴师动众地去用statspack,
而只要这条简单的SQL语句即可轻松搞定。
Statspack还是在需要分析event,latch,io 等时再去用吧。

SQL> select substr(sql_text,1, 50) sql_text,buffer_gets,buffer_gets/executions avg from v$sqlarea
  2  where executions > 0
  3   and buffer_gets > 100000
  4   and rownum  < 5
  5   order by 3;

 

程序中使用隐式转换是一个很不好的编程习惯,不仅不能客观反应出数据库如何真正地处理数据,而且还会带来一些隐藏的性能问题,
下面就是一个示例,说明varchar2与number之间隐式转换导致索引失效,最终导致可以使用索引的地方使用全表扫描,带来严重的性能问题…
下面做个小试验:
SQL> set autotrace on explain   <---打开执行计划监控
SQL> create table t ( id varchar2(20));

Table created.

Elapsed: 00:00:00.04
SQL> begin       <---向表中填入2000000条数据
  2  for i in 1 .. 2000000 loop
  3  insert into t values(i);
  4  end loop
  5  ;
  6  commit;
  7  end;
  8  /

 

你可能感兴趣的:(sql,编程)