关于SQL优化的一点心得

      因为项目中的几个SQL比较执行速度比较慢,所以最近一直在优化这几个SQL,在优化的过程中,还是挺有意思,因为每进

 

行一点改进,可能对执行效率都有一点的改善。在这个方面,也总结了一些小小的经验,这些经验都是建立在ORCLE系统之上

 

的:

 

    1、在做联合查询时,注意对表中的数据进行预估,然后决定查询时表的先后顺序。

 

    2、根据数据库的的解析规则来决定查询条件的先后顺序。这里有一个原则是尽量一开始就过滤到某表的大量数据。

 

    2、在做查询时最好是直接对表操作,所以如果表与视图进行联合查询,一般把视图折开。

    

    4、在执行查询时,尽量减少对表的访问次数,例如在执行一次查询,需要多次关联代码表,这种情况就可以考虑怎么尽量减

 

少查询的次数。

 

    5、对于Union 与 Union ALL的使用,如果不需要排重,那就尽量使用UNION ALL,因为UNION有排重功能,所以效率相对

 

要低一些。

 

    6、对于用IN的查询子句,考虑用EXISts来代替

 

    7、子查询中尽量不要用排序等语句。

 

以上都是针对在一定ORACLE配置条件下,也不涉及到ORACLE本身进行调优。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值