• 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
  • 相关阅读:
    百度诉360案一审宣判索赔1亿判赔70万
    软件设计之状态机
    linux下so获得自己文件位置的路径
    openssh-server
    安卓下查看kmsg内核日志
    Python kmean
    numpy
    HostMonitor监控主机状态
    ubuntu MySQL安装和设置
    Python Post img
  • 原文地址:https://www.cnblogs.com/kongxc/p/9385454.html
Copyright © 2020-2023  润新知