zoukankan      html  css  js  c++  java
  • 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 ,如果可以的话

  • 相关阅读:
    CareerCup Questions List 职业杯题目列表
    [CareerCup] Guards in a museum 博物馆的警卫
    [LeetCode] 7. Reverse Integer 翻转整数
    Python笔记11------一个K-means聚类的小例子
    python笔记10-----便捷网络数据NLTK语料库
    Python笔记9-----不等长列表转化成DataFrame
    Python笔记8----DataFrame(二维)
    Python笔记7----Pandas中变长字典Series
    Python笔记6----数组
    Python笔记5----集合set
  • 原文地址:https://www.cnblogs.com/sky7034/p/2106464.html
Copyright © 2011-2022 走看看