`
touchinsert
  • 浏览: 1287621 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

oracle sql优化规范

 
阅读更多

oracle的sql也是遵循几点原则

1.能用oracle自带函数,或者用他的函数可以实现的效果,尽量用oracle的函数,因为他的函数的算法和实现函数的语言都是效率非常高的,一般情况下比我们写的要高效。

2. sql的关键字都大写,因为oracle 再执行sql时,会把所有的sql 转换为大写来执行

3.select 句子中最好不要出现* ,要写具体的列名,不然 oracle会一次解析每个字段,费时。

4.from 的表,如果是一张或者两张表,把条数最少的放在后面,如果是三张以上,把和其他有交叉的表的放在后面,所谓交叉,就是和其他表有关联的的意思,因为oracle的扫描是从下网上从右往左,这样 的结果是可以尽量的少扫描表,

5.where 把可以过滤掉多条数据的条件往后放,一次类推

6.删除重复记录的最好办法是用rowid

7.使用decode函数减少 处理时间

8.用truncate table表明 代替delete from表名,因为第一个会删除表所对应的表空间

9.用where过滤,少用having过滤

10.使用表的别名也可以提高效率

11. EXISTS 替代 IN 、用 NOT EXISTS 替代 NOT IN

12.使用索引来提高查询效率,但是索引建立的时候很有将就,并不是每个字段都建立,那样反而会降低效率

13. EXISTS 替换 DISTINCT

14.避免在索引上使用计算那些函数

15.用>= 来代替> ,因为有个确切的边线,可以让oracle跟好的确定边线

16.避免在索引列上用not ,因为这回让索引失效,也要避免使用is null ,is not null 操作

17.用union来代替 or 操作,如果可以的话

18.用in 代替or ,如果可以的话

19.用union all 代替 union ,如果可以的话 ,因为union 要去除重复的列,还要排序,费时

20.where句子中把过滤掉数据最的条件放在最后,一次往前罗列,因为oracle的检索顺序是从下网上,从右往左,

21. 对于以上的操作都没什么 疑问的话,那就要借助plsql 这样的开发工具,去查看我们 写的sql 的解释执行计划,这个才是最后敲定你的sql 效率的依据,

22.在oracle上 尽量不要使用hints提示,因为我们的表 始终在变,可能目前你的效果很有效,但是随着每个表的数据的变化,并不保证你的sql 始终都是高效的

1
4
分享到:
评论
2 楼 kaobian 2011-07-15  
怎么看着跟我的这么接近呢
1 楼 ctguhqh 2011-07-15  
11.用 EXISTS 替代 IN 、用 NOT EXISTS 替代 NOT IN :
这个得看情况,有时候反过来会提高很多

相关推荐

    ORACLE SQL性能优化规范

    ORACLE SQL性能优化规范

    Oracle SQL规范与优化注意事项

    Oracle SQL规范与优化注意事项 指导开发者写出高效的SQL语句

    ORACLE SQL性能优化规范.doc

    ORACLE SQL性能优化规范.doc

    Oracle_SQL_PL/SQL书写规范性能优化技巧.doc

    PL/SQL书写规范 1、 语句中出现的所有表名、字段名全部小写,系统保留字、内置函数名、Sql保留字大写。 2、 连接符or、in、and、以及=、、>=等前后加上一个空格。 3、 对较为复杂的sql语句加上注释,说明算法、...

    oracle sql执行过程(流程图)

    Oracle sql执行流程图_SQL执行过程一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)...

    ORACLE数据库优化设计方案

    数据库高手给出的从九个不同方面介绍ORACLE数据库优化设计方案 一、数据库优化自由结构OFA(Optimal flexible ...八、使用最和SQL优化方优的数据库连接案 九、充分利用数据的后台处理方案减少网络流量 十、其他优化细节

    SQL编写规范(数据库操作规范)

     ORACLE SQL性能优化系列    1.选择最有效率的表名顺序(只在基于规则的优化器中有效)    ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表driving table)将被最先...

    SQL的规范及优化

    sql的规范及优化,希望能帮助大家对数据库的查询性能提升

    oracle_sql

    ORACLE SQL的优化及规范,很不错的..

    SQL性能优化

     以上四个SQL在ORACLE分析整理之后产生的结果及执行的时间是一样的,但是从ORACLE共享内存SGA的原理,可以得出ORACLE对每个SQL 都会对其进行一次分析,并且占用共享内存,如果将SQL的字符串及格式写得完全相同则...

    ORACLE优化总结

    对ORACLE总体概括以及SQL语句的规范优化

    sql语句的一些优化

    在 sql 中,首先要注意书写规范。虽然数据库不区分大小写,但是 sql 语句在执行时, ORACLE 会将它全部转化为大写,如果在写 SQL 语句时时就全部写成大写,能节省些资源。

    Oracle 数据库优化实战心得总结

    优化sql语句 1)减少对数据库的查询次数,即减少对系统资源的请求,使用快照和显形图等分布式数据库对象可以减少对数据库的查询次数。 2)尽量使用相同的或非常类似的SQL语句进行查询,这样不仅充分利用SQL共享池中...

    Oracle数据库设计规范建议.doc

    本规范的适用IT范围包括数据库对象的命名规范、设计原则、SQL语句的设计和使用 、SQL语句的性能优化建议、其他与性能有关的设计原则以及设计工具的选择。 3 数据对象的命名规范 3.1 通用规范 3.1.1 使用英文:要用...

    21天学通Oracle

    第三篇 Oracle中的SQL 第13章 Oracle数据类型(教学视频:21分钟) 231 第14章 Oracle中的函数与表达式(教学视频:111分钟) 240 第15章 Oracle中的控制语句(教学视频:16分钟) 282 第16章 SQL查询(教学视频...

    数据库书写规范,优化代码,加快处理速度

    SQL-书写规范详细描述了ORACLE数据库的各项代码优化心得,对数据库脚本编写帮助显著。

    如何从应用程序来优化Oracle数据库

    为了优化数据库性能,需要对数据库中的表进行规范化。应用程序的优化通常可分为两个方面:源代码和SQL语句。由于涉及到对程序逻辑的改变,源代码的优化在时间成本和风险上代价很高,而对数据库系统性能的提升收效...

Global site tag (gtag.js) - Google Analytics