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 始终都是高效的
分享到:
相关推荐
NULL 博文链接:https://zhengfc323.iteye.com/blog/1455767
oracle sql调优培训大纲
Oracle SQL调优.pptx
sql调优 oracle sql调优技术文档
实战Oracle SQL调优 hint特性
Oracle Sql性能调优,内部培训文档
大传授Oracle SQL调优精要,重要的是思想!
oracle sql级别调优及书写原则,重点是使用索引及索引覆盖
ORACLE 19C SQL调优指南 中文版,很牛逼的文档,Oracle DBA必备
oracle SQL 调优.emmx
Oracle 19C SQL调优优化指南,全面提升SQL优化能力,DBA必备,开发必备
Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优
oracle, sql 全面得介绍如何调优sql,写出高效的sql语句
OracleSQL调优[参照].pdf
ORACLE参数调优方案ORACLE参数调优方案ORACLE参数调优方案
介绍oracle的执行计划概念,和如何对sql进行优化
oracle sql调优,相信你一定能受益匪浅
从原理到实践详细讲解了sql调优的细节,值得评鉴
小布oracle性能调优目录小布oracle性能调优目录小布oracle性能调优目录