Oracle中的一些基本建议优化原则和NULL值

sql优化的部分原则

  • 查询的时候尽量使用列名;如:select ename,sal from emp;
  • 在子查询和多表查询之间选择,尽量使用多表查询;
  • 在集合运算中,如果 union和union all都可以,考虑使用union all.因为union需要去掉重复;
  • 尽量避免使用集合运算;
  • 在where和having都能使用的情况下,推荐选择where;(where后面不能使用分组函数)

    NULL值的问题

  • 包含null的表达式都为null;

  • null 永远 !=null;
  • 如果集合中含有null,不能使用not in ,但可以使用 in;
  • null值的排序问题,在升序中null在下,而在降序中null在上;(莫种意义上oracle中null最大)
  • 在组函数中自动虑空;(可以嵌套虑空函数来屏蔽其虑空功能)

    子查询的相关原则

  • 主查询的where select having from 后面都可以使用子查询;(group by后面不能使用子查询)
  • 一般不在子查询中排序;(在Top-n分析问题中,必须对子查询排序)
  • 一般先执行子查询,再执行主查询;(相关子查询例外)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值