• sql 优化


    select
    trim(store.odrim080_strid) odrim080_strid,
             trim(store.odrim080_strshowcd) || ' - ' ||
             trim(store.odrim080_stracnm) odrim080_stracnm
      from odrim080_store store
     where 1 = 1
       AND store.ODRIM080_STATUS = '1'
       and exists (select 1 from odrm023_autoset where store.odrim080_strid = odrm023_orgid)
     order by odrim080_stracnm
     数据库 odrim080_store 有两千数据,odrm023_autoset 有4百万数据的情况下 执行结果为 6.5秒

    原因是:前面那个sql要080和023完全关联,这样出的数据量是2千*4百万,然后再distinct

     
     select /*+ rule*/ distinct trim(store.odrim080_strid) odrim080_strid,
                    trim(store.odrim080_strshowcd) || ' - ' ||
                    trim(store.odrim080_stracnm) odrim080_stracnm
      from odrim080_store store,odrm023_autoset
     where 1 = 1
     and store.odrim080_strid = odrm023_autoset.odrm023_orgid
       AND store.ODRIM080_STATUS = '1'
     order by odrim080_stracnm

     数据库 odrim080_store 有两千数据,odrm023_autoset 有4百万数据的情况下 执行结果为 16.5秒

    后面是用080中的2千条,分别到023里找一下,只要有记录就ok,不需要出023里全部数据。而且080里strid是主键,也就不需要distinct

  • 相关阅读:
    20160421
    20160420笔记
    第一个随笔
    搬家
    OO第十五次作业
    OO第三次博客作业
    OO5-7次作业总结
    从入门到不放弃——OO第一次作业总结
    第八次团队作业——系统设计和任务分配
    第七次作业-团队选题报告和需求规格说明书
  • 原文地址:https://www.cnblogs.com/6303c/p/2009081.html
Copyright © 2020-2023  润新知