亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3808 | 回復: 2
打印 上一主題 下一主題

[求助] 如何提高select 語句的執(zhí)行速度 [復制鏈接]

論壇徽章:
1
數據庫技術版塊每日發(fā)帖之星
日期:2016-03-20 06:20:00
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-01-15 23:48 |只看該作者 |倒序瀏覽
本帖最后由 congfu 于 2013-01-15 23:50 編輯

select distinct H."HOSPITALIZENO",H."NAME",H."SEX",H."BIRTHDAY",H."REQUESTPHYSICIAN",H."STUDYDEPT",H."FEE",H."HISTYPE",H."STUDYPART",H."POSTCODE",H."REQUESTID",H."HISRECORDID",H."STUDYDATE",H."MODALITY",H."EXE_DEPT_CODE",H."INSURANCEID",H."ADDRESS",H."TELNO",H."BEDNO",H."DEPCODE",H."SBLXX10" from (
select substr(nvl(b.scfxx02,a.Smzjs01),2)||a.ijsmx01 as HospitalizeNo,
       b.sbrxx02 as Name,
       decode(b.sbrxx03,'AD01','M','AD02','F','O') AS Sex,
       b.dbrxx05 as Birthday,
       (select szgxx02 from yygl170 where szgxx01 = a.Sjsmx11) as RequestPhysician,
       (select sksxx02 from yygl140 where sksxx01 = a.Sjsmx10) as studydept,
       a.Njsmx06 as Fee,
       ' ' as histype,
       ' ' as Studypart,
       '' as Postcode,
      '' as RequestID,
       a.Smzjs01 as hisrecordid,
       Djsmx14 as Studydate,
       ' ' as Modality,
         a.Sjsmx12 as exe_dept_code,
       b.scfxx13 as insuranceid,
         b.Sbrxx12 as address,
      '' as telno,
      '' as BedNo,
       a.Sjsmx12 as depcode,
       b.Sblxx10 as sblxx10
from (select * from yygle41 where sjsmx12 in  ('08','25','41')
and djsmx14  >trunc(add_months(sysdate,-3))
and smzjs01 not in  (select smzjs01 from yygle40
  where (smzjs11=1 or (nmzjs06<0 and smzjs12 is not null))and dmzjs13>=trunc(add_months(sysdate,-3)))
) a,(select * from yygle61 where dcfxx04 >trunc(add_months(sysdate,-3))) b
where a.scfxx01 = b.scfxx01
and a.Sjsmx09 like 'BD02%'
and b.dcfxx04 >trunc(add_months(sysdate,-3))
and a.sjsmx12 in  ('08','25','41')
UNION ALL
select substr(nvl(b.smzjs30,b.smzjs01),2)||a.ijsmx01 as HospitalizeNo,
       b.smzjs02 as Name,
       (select decode(sghjl04,'AD01','M','AD02','F','O') from yygle10 where sghjl01=b.smzjs30) AS Sex,
       (select Dghjl05 from yygle10 where sghjl01=b.smzjs30)  as Birthday,
       (select szgxx02 from yygl170 where szgxx01 = a.Sjsmx11) as RequestPhysician,
       (select sksxx02 from yygl140 where sksxx01 = a.Sjsmx10) as studydept,
       a.Njsmx06 as Fee,
        ' ' as histype,
       ' ' as Studypart,
       '' as Postcode,
      '' as RequestID,
        a.Smzjs01 as hisrecordid,
       a.Djsmx14 as Studydate,
       ' ' as Modality,
         a.Sjsmx12 as exe_dept_code,
       '' as insuranceid,
         '' as address,
      '' as telno,
      '' as BedNo,
       a.Sjsmx12 as depcode,
        (select nvl(Sblxx10,'') from yygle61 where a.scfxx01 = scfxx01)  as sblxx10
from yygle41 a,yygle40 b where
a.smzjs01=b.smzjs01 and
a.djsmx14 >=trunc(add_months(sysdate,-3))
and b.smzjs01 not in  (select smzjs01 from yygle40
  where (smzjs11=1 or (nmzjs06<0 and smzjs12 is not null))and b.dmzjs13>=trunc(add_months(sysdate,-3)))
and a.sjsmx12 in ('08','25','41')) H
where h.hisrecordid not in (select ssqdh01 from pacs_his where dsysdate >=trunc(sysdate))
       --and h.HospitalizeNo not in (select szybh01 from pacs_his where dsysdate >=trunc(sysdate))
order by H.HospitalizeNo;
備注:
yygle40有5萬多條記錄,yygle41有10萬多條記錄,yygle61有4萬多條記錄,并且都在以每天近千條記錄的速度在增加。

論壇徽章:
0
2 [報告]
發(fā)表于 2013-01-21 11:45 |只看該作者
數據量不大,但邏輯太復雜,而且在SQL中又用到not in等低效率的因素
SQL寫成這樣對于維護,優(yōu)化是很不利的
對我來說,我是不允許有這樣的SQL存在的
建議SQL拆分或重構

論壇徽章:
1
數據庫技術版塊每日發(fā)帖之星
日期:2016-03-20 06:20:00
3 [報告]
發(fā)表于 2015-03-21 10:16 |只看該作者
多謝   指點
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP