暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle SQL语句优化总结

Oracle EBS技术分享 2021-04-15
336

  1. 注释使用

    在语句中多写注释,注释不影响SQL语句的执行效率,增加代码的可读性。

  2. 尽量少的使用select *这样的语句

    不要使用select * 这样的语句,而应该使用select table.column这样的语句,检索列的减少可提高执行效率,同时便于阅读维护。

  3. 少使用count(*)

    count函数是统计表中的所有行数,而count(1)比count(*) 更有效率。

  4. in和exists

    exists要比in的执行效率高,用in的时候会full table scan查表,有时候索引页不起效果。所以最好用exists的子查询代替in语句。

  5. 多表查询时,注意表之间连接的数据类型

    尽量用主键或者number类型的字段关联,少用字符类型关联。

  6. 少用视图

    直接使用表会比视图效率快很多,因为少了视图里面条件。

  7. 没有必要时不要使用distinct和order by

    这些动作会增加查询时间,我们可以把执行结果导出来,再手工去重和做排序操作。

  8. 避免相关子查询

    查询嵌套层次越多,效率越低,如果必须要子查询才能实现,要在子查询中过滤掉尽可能多的行。

  9. union和union all

    union all 执行效率比union要高。

  10. 多表关联的对应列,应该建立索引

    提高执行效率,不会full table scan查表。

文章转载自Oracle EBS技术分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论