zoukankan      html  css  js  c++  java
  • oracle 优化or 更换in、exists、union all几个字眼

    oracle 优化or 更换in、exists、union几个字眼。测试没有问题!

    根据实际情况选择相应的语句是。假设指数,or全表扫描,in 和not in 应慎用。否则会导致全表扫描。

     select *
       from T_Pro_Product
      where bar_code = 'nnnmmm'
         or name = 'nnnmmm'
         or no = 'nnnmmm';
    
    select *
       from T_Pro_Product
      where 'nnnmmm' in (bar_code, name, no)
     
     --忧化
       select *
               from T_Pro_Product t1
              where exists
              (select 1
                       from T_Pro_Product tt1
                      where t1.bar_code = 'nnnmmm'
                     union all
                     select 1
                       from T_Pro_Product tt2
                      where t1.no = 'nnnmmm'
                     union all
                     select 1 from T_Pro_Product tt3 where t1.name like 'n%')
             
             --忧化
               select *
                       from T_Pro_Product t1
                      where t1.id in (select id
                                        from T_Pro_Product tt1
                                       where t1.bar_code = 'nnnmmm'
                                      union all
                                      select id
                                        from T_Pro_Product tt2
                                       where t1.no = 'nnnmmm'
                                      union all
                                      select id
                                        from T_Pro_Product tt3
                                       where t1.name = 'nnnmmm')


    来源:http://www.cnblogs.com/yxwkf/p/4602143.html
  • 相关阅读:
    KDJ回测
    利用网易获取所有股票数据
    利用东方财富网获取股票代码
    python发邮件
    用指针向数组插入元素
    冒泡排序
    Hadoop的安装与配置
    关于执行memcached报错问题
    tomcat Linux安装
    网易CentOS yum源
  • 原文地址:https://www.cnblogs.com/kongxc/p/9385454.html
Copyright © 2011-2022 走看看