如何分析SQL语句

转载 2007年09月22日 21:50:00
很多时候,我们不太清楚自己写的SQL语句好还是不好,往往数据量一大,程序运行变慢。其实在SQL/PLUS里可以很清晰的分析出SQL语句的执行计划,它可以提醒我们来创建索引或改变SQL语句的写法。
  
    先在sys用户下运行@/ORACLE_HOME/sqlplus/admin/plustrce.sql
  
  内容:
  set echo on
  drop role plustrace;
  create role plustrace;
  grant select on v_$sesstat to plustrace;
  grant select on v_$statname to plustrace;
  grant select on v_$session to plustrace;
  grant plustrace to dba with admin option;
  set echo off
  
  产生plustrace角色,然后在sys用户下把此角色赋予一般用户&username
  
  SQL> grant plustrace to &username;
  
    然后找到/ORACLE_HOME/rdbms/admin/utlxplan.sql,然后在当前用户SQL>下运行,它创建一个plan_table,用来存储分析SQL语句的结果。
  
   create table PLAN_TABLE (
   statement_id  varchar2(30),
   timestamp    date,
   remarks     varchar2(80),
   operation    varchar2(30),
   options     varchar2(30),
   object_node   varchar2(128),
   object_owner  varchar2(30),
   object_name   varchar2(30),
   object_instance numeric,
   object_type   varchar2(30),
   optimizer    varchar2(255),
   search_columns number,
   id       numeric,
   parent_id    numeric,
   position    numeric,
   cost      numeric,
   cardinality   numeric,
   bytes      numeric,
   other_tag    varchar2(255),
   partition_start varchar2(255),
   partition_stop varchar2(255),
   partition_id  numeric,
   other      long,
   distribution  varchar2(30));
  
    在SQL/PLUS的窗口运行以下命令
  
  
   set time on; (说明:打开时间显示)
   set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果)
   set autotrace traceonly; (说明:打开自动分析统计,不显示SQL语句的运行结果)
  
    接下来你就运行测试SQL语句,看到其分析统计结果了。一般来讲,我们的SQL语句应该避免对大表的全表扫描。
  
    关闭以上功能,在SQL/PLUS的窗口运行以下命令
  
   set time off; (说明:关闭时间显示)
   set autotrace off; (说明:关闭自动分析统计)  

相关文章推荐

Oracle中SQL语句优化原理分析

  • 2012年10月23日 21:24
  • 55KB
  • 下载

SQL语句优化技术分析

  • 2008年04月13日 23:14
  • 36KB
  • 下载

【python数据挖掘课程】十一.Pandas、Matplotlib结合SQL语句可视化分析

这是非常好的一篇文章,可以认为是我做数据分析的转折点,为什么呢? 因为这是我做数据分析第一次引入SQL语句,然后爱不释手;结合SQL语句返回结果进行数据分析的效果真的很好,很多大神看到可能会笑话晚辈,...

SQL语句优化技术分析

  • 2012年01月10日 11:39
  • 31KB
  • 下载

SQL语句中exists/not exists的用法分析

Student表SnoSnameSsexSageSdept200215121李勇男20CS200215122刘晨女19CS200215123王敏女18MA200215124张立男19ISCourse表...

自己编写sql语句分析工具

  • 2009年05月21日 09:19
  • 31KB
  • 下载

ORACLE SQL语句优化技术分析.rar

  • 2009年03月03日 11:48
  • 7KB
  • 下载

mysql执行sql语句优化分析命令explain命令小记

explain是用来分析sql语句,帮助优化的一个命令。她可以很详细的告诉你的sql语名出现的问题所在,以及是否用到索引。真的很好用。大家必须要会用哦! explain的语法如下:   SQL Co...

ORACLE_SQL语句优化技术分析

  • 2015年01月09日 10:46
  • 259KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何分析SQL语句
举报原因:
原因补充:

(最多只允许输入30个字)