摘要: 整理一下网上所看到sql优化方法1、使用大写字母书写sql,因为oracle解释器会先将sql语句转换成大写后再解释2 减少访问数据库的次数,多数情况下一条sql可以达到目的的,就不要使用多条sql。当执行每条SQL语句时,ORACLE在内部执行了许多工作:解析SQL语句,估算索引的利用率,绑定变量,读数据块等等。由此可见,减少访问数据的次数,就能实际上减少ORACLE的工作量。例如:以下有三种方法可以检索出雇员号等于0342或0291的职员。方法1(最低效)SELECT EMP_NAME,SALARY,GRADEFROM EMPWHERE EMP_NO=342;SELECT EMP_NAME 阅读全文
posted @ 2013-07-31 15:38 Nina 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 1. WHERE子句中的连接顺序:Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.2. SELECT子句中避免使用 ‘ *’:ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间3. 使用DECODE函数来减少处理时间:使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.4. 用TRUNCATE替代DELETE:当删除表中的记录时,在通常情况下, 回滚段(ROLLBACK 阅读全文
posted @ 2013-07-31 13:52 Nina 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 1、Oracle Package的作用: 可以简化应用设计、提高应用性能、实现信息隐藏、子程序重载2、ORACLE中的function 、package、package bodies、procedure的区别和相同: function有返回值,有参数;procedure无返回值,有参数;package、package body是同时存在的,就像.h和.cpp文件,如果要外部调用的,就在package里声明一下,包内调用的,只要在body里写就行了。package可包括function,procedure3、在sqlserver中,直接写个存储过程就可以调用。但是在oracle中,我看好多资料上 阅读全文
posted @ 2013-07-31 13:34 Nina 阅读(8746) 评论(0) 推荐(1) 编辑