OLTP应用优化SQL方法思路思考

OLTP应用优化SQL思路:由小到大,从限制性最强返回记录最少的连接开始,基本采用嵌套循环连接技术,依次完成其它表的连接,并在访问每张表时,合理使用索引,特别是复合索引技术。

具体方法步骤:(1)限制性最强的表作为驱动表,条件字段应该有索引,包括主键,唯一索引,复合索引等。(2)考虑原则:在每次连接操作之后,尽量保证返回记录数罪少,再传递给下一个链接操作。(3)每次连接基本采用嵌套循环连接技术。(4)尽量通过在被驱动表的连接字段上的索引,访问被驱动表。(5)如果被驱动表上还有其它限制性条件,可以遵循复合索引创建原则,创建合适的复合索引。(6)全表扫描可能也是合理的,比如若干小表,代码表的访问。(7)依次类推,顺序完成所有表的连接操作。

要点:(1)能不写子查询,尽量不写子查询,而是直接编写多表连接,因为这样会导致oracle采用错误的执行路径。(2)in和exists的使用场景:如果限制性强的条件在子查询,用in。如果限制性强的条件在主查询,用exists.(3)在一些情况下,会导致索引失效的语句:1 不要轻易在字段前加函数,比如 to_char(JDRQ,'yyyymmdd') between .....改为 JDRQ between to_date(....)...。2 尽量不要将字段嵌入到表达式中,如JDRQ+7

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24214296/viewspace-1059540/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24214296/viewspace-1059540/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值