oracle 查询优化

一、在通常查询中,我们可以使用替代变量查询。
SQL>SELECT * FROM dept WHERE deptno = &&t;
在查询时,输入条件变量值。无论我们查询哪样信息,它都只安排一个查询计划,这样就能有效的提高查询语句的执行效率,这也是Oracle建议我们使用的查询方式。
如果不使用替代变量,而是直接输入查询条件,如:
SQL>SELECT * FROM dept WHERE deptno=10;
SQL>SELECT * FROM dept WHERE deptno=20;
它查询一次就会安排一个查询计划,查询几次就会有几个查询计划,这样也查询语句的执行效率就不高了

二、查看SQL/PLUS支持的所有命令:help index或者? index

三、 查看某个命令的具体用法的命令:SQL>? 命令名

四、忽略空行,使命令输入时空行不退出当前命令。就是说:我输入命令为多行时,某一行为空的情况下,不退出命令。这时我们要用到SET命令。设置命令如下:
SQL>SET SQLBLANKLINES ON

五、在Oracle中写SQL语句是不区分大小写的,在语句部分以分号结尾

六、Oracle缓存区查看命令,用LIST。
    修改Oracle缓存区里的SQL语句命令,用CHANGE, 简写C 。
    执行缓存区里的命令,用“/” 。
    删除缓存区里的SQL语句命令,用 DEL 。
    在缓存区中追加信息命令,用 APPEND ,简写为:A
    保存缓存区SQL语句命令,用 SAVE
    执行保存的脚本文件命令,用 @ 如@C:\test.txt
    查看脚本文件内容,但不执行的命令, 用 GET
    直接编辑刚刚保存到缓存区里的SQL语句的命令,用 EDIT,保存修改后,用“/”命令执行

七、给指定的列加标签的命令,用 COLUMN ,简写为COL,COL deptno HEADING "编号";
格式化输出,也是用 COL 命令。COL dname FORMAT A10;  (10个字符输出)
加标签和格式化输出,我们可以一起设置,例如:COL dname FORMAT A10 HEADING "部门名称";
把整型字段,格式化输出。例如:我们把数据文件的字节数(整型)格式化,命令如下:COL bytes FORMAT 999,999,999

八、设置表的标题和标签命令 。例如:
SQL>SET LINESIZE 80   (设置行宽) set linesize 设置一行显示多少字符
pagesize 分页
SQL>TTITLE CENTER "我的标题" SKIP 1-     (设置标题,并空一行)
>LEFT "测试报表" RIGHT "页" -              (设置左边标签,设置右边标签)
>FORMAT 999 SQL.PNO SKIP 2
SQL>BTITLE CENTER "我的版权所有2008-2010"
SQL>SELECT * FROM dept;
当我们不需要时,可以把显示的标签去掉,例如:
SQL>BTITLE OFF

九、报表制作命令,"BREAK"和"COMPUTE"。
我们想实现重复的显示一条,如何来实现,实现如下:SQL>BREAK ON pub
利用"COMPUTE"来做统计工作。示例如下:SQL> COMP COUNT LABEL "计数" OF BOOKS_NAME ON PUB

十、保存查询得到的结果集命令,用 SPOOL ,简写为:SPO
例如:我们把books表刚才查询的结果集放到d盘根目录下的spool.txt文件中,具体操作如下:
SQL> SPOOL d:\spool.txt
SQL> SELECT * FROM books;
SQL> SPOOL OFF

本文出自 “让我men共同成长” 博客,谢绝转载!

你可能感兴趣的:(oracle,常见优化)