從 SQL優(yōu)化角度對醫院信息系統進(jìn)行優(yōu)化 從 SQL優(yōu)化角度對醫院信息系統進(jìn)行優(yōu)化

從 SQL優(yōu)化角度對醫院信息系統進(jìn)行優(yōu)化

  • 期刊名字:醫療設備信息
  • 文件大?。?05kb
  • 論文作者:周鸞杰,宋傳軍,周寶林
  • 作者單位:大慶市人民醫院,大慶油田總醫院,大慶市交通局
  • 更新時(shí)間:2020-09-29
  • 下載次數:次
論文簡(jiǎn)介

.醫療設備信息醫院數字化從SQL優(yōu)化角度對醫院信息系統進(jìn)行優(yōu)化周鸞杰',宋傳軍2,周寶林3(1.大慶市人民醫院哈爾濱醫科大學(xué)附屬第五醫院,黑龍江大慶163311;2.大慶油田總醫院,黑龍江大慶163311; 3.大慶市交通局,黑龍江大慶163316)[摘要]醫院信息系統 (HIS)中的Oracle數據庫系統,其應用程序中SQL語(yǔ)句占了很大的比例。本文主要介紹幾種優(yōu)化SQL語(yǔ)句的方法與實(shí)踐技巧,來(lái)提高醫院信息系統的傳輸效率。[關(guān)鍵詞]醫院信息系統(HIS);Oracle數據庫; SQL語(yǔ)句優(yōu)化[中圖分類(lèi)號]TP311.132.3 [文獻標志碼]A[文章編號]1007 -7510(2007)05 - 0023 -03Optimization of HIS from the Angle of SQLZHOU Luan -jie' , SONG Chuan -jun', ZHOU Bao - lin'(1. Daqing Municipal People' s Hospital, Daqing Heilongjiang 163311, China; 2. General Hospital of Daqing Oil - field,Daqing Heilongjiang 163311, China ;3. Daqing Communication Bureau, Daqing Heilongiang 163316, China)Abstract: Describes mainly several ways and practical skill of SQL tuning to improve the transmitting efficiency of HIS.Key words: hospital information system; Oracle database; SQL tuning1 SQL語(yǔ)句優(yōu)化的意義可以通過(guò)如下幾種方法。2.1人工檢查SQL作為-種結構化查詢(xún)語(yǔ)言,其處理過(guò)程首先通過(guò)0-人工檢查即把SQL語(yǔ)句編寫(xiě)好了以后,首先對其進(jìn)行檢RACLE的SQL/PLUS界面或者應用程序傳送到ORACLE查,以確保其基本有效或者是正確的,這要求開(kāi)發(fā)人員有一定服務(wù)器系統中,進(jìn)行處理,所有的語(yǔ)句分為三個(gè)階段:語(yǔ)句分的經(jīng)驗。如在某HIS中,在藥品庫存盤(pán)點(diǎn)模塊中,有如下的語(yǔ)析;語(yǔ)句執行和讀取數據。語(yǔ)句分析是最花時(shí)間的處理過(guò)程,它句:是將SQL語(yǔ)句自底向上進(jìn)行分析。將保留字與非保留字分開(kāi)SELECT * FROMXT . YPBZ WHERE ZD-來(lái)查其語(yǔ)法是否正確,若正確則下一步根據數據字典中的統計DH=' 1007. UNION SELECT *FROM XT .信息確定運行方案,或是基于代價(jià)的,或是基于規則的??傊?YPBZ WHEREJBWXS=1選擇代價(jià)最小,執行最快的方案,并且同時(shí)選擇數據訪(fǎng)問(wèn)路作如下修改:徑。語(yǔ)句的執行即句法分析后的SQL語(yǔ)句生成-些子命令 ,根SELECT *;據確定的運行方案和數據訪(fǎng)問(wèn)路徑將這些命令放入系統的各FROM XT_ YPBZ WHERE ZDDH=,1007*部分。讀取數據,即將那些需要的,合乎條件的數據取出來(lái)返回AND JBDWSH=1;界面。下面,先提出幾種判斷SQL語(yǔ)句效率不高的方法,用這兩句執行所得的結果是一樣的,執行的過(guò)程卻不一樣。HIS系統以前的語(yǔ)句來(lái)對比分析,指出哪些語(yǔ)句是實(shí)質(zhì)性效率第二個(gè)要比第-一個(gè)執行效率快得多??傊?人工檢查要有一定不高的。并介紹ORACLE數據庫自帶的基于代價(jià)與基于開(kāi)銷(xiāo)的編程經(jīng)驗。的SQL語(yǔ)句的比較。最后,提出幾種優(yōu)化SQL語(yǔ)句的方法與2.2用EXPLAIN PLAN統計實(shí)踐技巧。人工檢查一般對比較復雜的語(yǔ)句無(wú)能為力,這時(shí)候可以采用ORACLE里面的EXPLAIN PLAN命令,對一些信息進(jìn)2幾種SQL語(yǔ)句效率不高的檢查方法及其優(yōu)化方法行統計,格式如下:CTATEMENT- ID= "中國煤化工首先要明確-一點(diǎn),并不是所有的SQL語(yǔ)句都要去優(yōu)化一BQYH下,如果語(yǔ)句本身很簡(jiǎn)單,則再優(yōu)化也沒(méi)有太大意義。這里所說(shuō):THCN MH GRSELECT DIS-的優(yōu)化是針對可能效率不太高的語(yǔ)句。檢查語(yǔ)句是否要優(yōu)化TINCT XMMC,XMDH,LEVEL;收稿日期:2006-07- 1122卷5期柴2007.5.●23.醫院數字化醫療設備信怠FROM XT - MLSZ START WITHXMDH=SELECT HXRQ, SUM(XMJE)PRIORFBDH;FROM ZY - SFXM GROUP BY HXRQ(55秒)ORDERBYLEVELDESC;上述HXRQ上有大量的重復值,在非群集索引下,數據在然后察看一下PLAN_TABLE中的內容,在內容中OP-物理上隨機存放在數據頁(yè)上,在范圍查找時(shí),必須執行- -次表ERATION列表示進(jìn)行的操作,這條SQL語(yǔ)句有兩個(gè)操作,掃描才能找到這一范圍內的全部行。一個(gè)是SELECT操作,一個(gè)是表的訪(fǎng)問(wèn), OPTION列是對方(2)在HXRQ.上的一個(gè)群集索引:案選擇描述。POSITION列為 系列開(kāi)銷(xiāo)列,這個(gè)開(kāi)銷(xiāo)的度量SELECT COUNT( * )FROM ZY - SFXM尺度可以說(shuō)是1/O開(kāi)銷(xiāo),要知道開(kāi)銷(xiāo)的大小,要對比多條SQLWHERE HXRQ》’' 9990901’ AND WCKSIN( '語(yǔ)句進(jìn)行。4222','3961')(1秒)2.3使用SET AUTOTRACE在群集索引下,數據在物理上按順序在數據頁(yè)上,重復值用EXPLAIN PLAN來(lái)檢查語(yǔ)句是否有效,其實(shí)是一種也排列在一-起,因而在范圍查找時(shí),可以先找到這個(gè)范圍的起手工方法,用SETAUTOTRACE則是- -種自動(dòng)完成的,他每始點(diǎn)及終點(diǎn),只在這個(gè)范圍內掃描數據頁(yè),避免了大范圍掃描,執行一條SQL語(yǔ)句時(shí),都對其執行情況進(jìn)行統計,并存入提高了查詢(xún)速度。PLAN_ TABLE表中,應用程序收集性能統計數據時(shí),應設置(3)在WCKS,HXRQ,XMJES上的組合索引:初始化參數TIMES. STATISTICS= TRUE,因為這是一個(gè)SELECT COUNT(*) FROM ZY_SFXM動(dòng)態(tài)參數,可以在數據庫打開(kāi)時(shí),使用ALTER SYSTEM或WHERE HXRQ>' 20010130' AND HXRQ<'ALTER SESSION命令修改它,為了避免不必要的開(kāi)銷(xiāo),應20021020'該在完成之后將TIME STATISTICS設置為FALSE。AND XMJE>200 (26 秒)3基于代價(jià)與基于規則的SQL語(yǔ)句之間的比較檢查到不好的SQL語(yǔ)句后,下面就是要確定是基于代價(jià)WHERE HXRQ>' 19990901' AND WCKS IN ('的優(yōu)化還是基于規則的優(yōu)化。所謂基于代價(jià)(CBO)的優(yōu)化是指4222' ,'3961')(1秒)依靠統計信息,基于選擇代價(jià)最小,即執行時(shí)間最少,1/0最少上例中這是一個(gè)不很合理的組合索引,因為它的前導列是的方案來(lái)執行語(yǔ)句。所謂基于規則的優(yōu)化,即ORACLE首先WCKS,第一條SQL沒(méi)有引用WCKS ,因此也沒(méi)有利用上索定義一個(gè)規則,它將SQL語(yǔ)句的訪(fǎng)問(wèn)路徑分成15個(gè)等級,每引;第二個(gè)SQL使用了WCKS,且引用的所有列都包含在組一個(gè)等級都有-一個(gè)權值,權值越小,等級越低, SQL語(yǔ)句執行合索引中,形成了索引覆蓋,所以他的速度是非??斓?。越快。這樣,每遇到一個(gè)SQL語(yǔ)句,系統自動(dòng)對語(yǔ)句進(jìn)行簡(jiǎn)單3.2不充分的連接條件分析后,確定其等級,然后按這一等級的訪(fǎng)問(wèn)路徑訪(fǎng)問(wèn)。我們通過(guò)例子來(lái)比較說(shuō)明:例:表ZY_SFYP(住院收費藥SQL語(yǔ)句在KMHIS中的運用在使用SQL語(yǔ)句時(shí),性能品)有7896行,在XMDH上有一個(gè)非聚集索引,在YP_ KC-差異在大型的或是復雜的數據庫環(huán)境中表現得尤為明顯,如在SL(藥品庫存數量)有191122行,在XMDH上有一個(gè)非聚集HIS系統中,經(jīng)過(guò)一- 段時(shí)間的總結,發(fā)現SQL語(yǔ)句的性能比索引,試看在不同的表連接條件下,兩個(gè)SQL的執行情況。較低下的原因主要來(lái)自于不恰當的索引設計,不充分的連接條SELECT SUM(A. XMJE)FROM ZY. SFYP A, YP. KC-件和不可優(yōu)化的WHERE子句及其不恰當的語(yǔ)句操作等,在SL B WHERE A. XMDH=B.X MDH (20 秒)將SQL改對它們進(jìn)行適當的優(yōu)化后,其運行速度有了明顯的提高,下面為:將從幾個(gè)方面結合實(shí)際應用分別進(jìn)行說(shuō)明。測試環(huán)境:SELECT SUM(A. XMJE) FROM ZY . SFYP A,主機hp ld pro,主頻330M,內存128M;操作系統YP_KCSLBnt4. 0,數據庫oracle8.0。WHER EA. XMDH= B.X MDH AND A. XMDH =3.1不合理的索引設計B.XMDH (<1 秒)例:表zY _SFXM有197萬(wàn)行,試看在不同的索引下,下可見(jiàn),只有充分的連接條件,真正的最佳方案才會(huì )被執面幾個(gè)SQL的運行情況:(1)在HXRQ上建有一個(gè)非群集索引:3.3關(guān)于WHERE子句SELECT COUNT(*) FROM ZY-SFXM中國煤化工有恰當的索引,但執行速WHERE HXRQ>' 20010130' AND HXRQ< '20010220' AND XMJE>200 (25秒)//核銷(xiāo)日期,項目金額,YHCNMH GM完成科室,住院收費項目,門(mén)診收費項目。WHERE XMJE/ 30<1000 (11 秒) WHERE子句中對.24.22卷5期驟2007.5醫療設備體&醫院數字化列的任何操作結果都是在SQL運行時(shí)逐列計算得到的,因此4總結它不得不進(jìn)行全表搜索,而沒(méi)有使用該列上的索引;如果這些從上面這些例子可以看出,SQL 優(yōu)化的實(shí)質(zhì)是在結果正結果在查詢(xún)編譯時(shí)發(fā)現,那么就可以被查詢(xún)優(yōu)化器優(yōu)化,使用確的前提下,用優(yōu)化器可以識別的語(yǔ)句,充分利用索引,減少表列上的索引,避免全表搜索。掃描的I/ O次數,盡量避免表搜索的發(fā)生,其實(shí)SQL的優(yōu)化3.4用(NOT) EXIST替代NOT IN是一個(gè)復雜的過(guò)程,上述這些只是在SQL語(yǔ)句應用時(shí)的一些語(yǔ)句1具體實(shí)例和平時(shí)應用的總結。SELECT XMFL,XMDHFROMXT-CSsZ[參考文獻]WHERE XMDH NOT IN(SELECTXMDH FROM XT -[1 ]Gaja krishnavaidynatha, kirtikumar deshpande johnXMSZ)kostelac Oracle performance tuning 101[J]. Mcgraw-語(yǔ)句2hill education (asia) publication 2004(1): 72- 74.SELECTXMFL,XMDH FROM XT - CSSZ[2]Mullner, Ross M. The Internet and Healthcare&WHERE NOT EXISTScolon; Oppoutunities and Challenges [J].Journal of(SELECT XMDH FROM XT. XMD H WHEREmedical systems, 2002(6) : 54 - 57.XT_CSSZ.XMDH= XT - XMSZ. XMDH);可見(jiàn),語(yǔ)句2要[3]Eyal aronoff, evin loney , noorali sonawalla, Oracle比語(yǔ)句1的執行性能好很多.因為語(yǔ)句1中對XT_ XMSZ進(jìn)advanced tuning & administrator[J ]. oracle press 2000行了全表掃描,這是很浪費時(shí)間的操作.而且語(yǔ)句1中沒(méi)有用(1):44 -46.到EMP的索引。而2中的語(yǔ)句對XT. XMSZ進(jìn)行的是在條[4]劉曉霞,王聯(lián)華,徐海琛,等.oracle8優(yōu)化技術(shù)[M].北京:件下的有限掃描。機械工業(yè)出版社,2001:56 - 78.3.5在海量查詢(xún)時(shí)盡量少用格式轉換[5]劉剛,曲建華,等.醫院信息系統oracle服務(wù)器端數據庫維如用在藥品采購賬本的批號中用護例析[J].醫療設備信息,2002(3):5.WHERE YP _CGZB. YPPH= YP_CGZB. YPPH;[6]周鸞杰,等.從Oracle體系結構方面對醫院信息系統進(jìn)行而不用優(yōu)化[J].醫療設備信息,2006(5):32 - 33.WHERETO . NUMBER(SUBSTR(YP[7]劉偉,杜薇。關(guān)于oracle關(guān)系數據庫性能調整的研究[J].CGZB. YPPH, INSTR(YP_ CGZB. YPPH,'.')-1)= TO.微型機與應用, 2001(10): 47-49.NUMBER(SUBSTR(YP. CGZB. YPPH,INSTR(YP[8]何澤恒,呂建波,李建軍.基于oracle數據庫的信息系統優(yōu)CGZB. YPPH,'.')-1)?;O計[J].哈爾濱商業(yè)大學(xué)學(xué)報,2002(2:)23 -25.★(上接第57頁(yè))2.3.1冠心病早期診斷好的經(jīng)濟效益和社會(huì )效益;也提高了我院的科研水平,對各級2.3.2一次性完成心肌血流灌注、代謝和冠狀動(dòng)脈成像及其科研課題的申請,人才的引進(jìn)等都將有很大的促進(jìn)作用。融合圖像,同時(shí)判定心肌存活性及缺血位置和供血血管的解剖結構[1]潘屏南,等.現代大型醫用設備[M].北京:中國醫藥科技2.3.3心臟、冠狀動(dòng)脈血管二維和三維解剖成像。對心臟和冠出版社,2002.狀動(dòng)脈的結構和功能評價(jià),鑒別冠狀動(dòng)脈血管內軟、硬斑塊形[2]尚輝. PET/CT 的原理及臨床應用[J].醫療設備信息,成,并可對鈣化斑塊定量分析。2005, 20(11):20.2.3.4對心肌心內 膜下心梗進(jìn)行診斷和評估。[3]林景輝。核醫學(xué)[M].北京:北京醫科大學(xué)出版社,2002.2.3.5對血管內支架的術(shù)后評價(jià)。[4]錢(qián)英. PET/CT的最新進(jìn)展[J].醫療設備信息,2005(5): .2.4神經(jīng)系統疾病的應用31.2.4.1神經(jīng)受體, 神經(jīng)遞質(zhì)的顯像。[5]李天然,等.功能影像設備PET/CT[J].醫療衛生裝備,2.4.2 癲癇的診斷、鑒別診斷和治療效果的評估。2005(12):27.2.4.3帕金森氏病、 早老性癡呆診斷、病因的鑒別。通過(guò)神經(jīng)[6]倪萍PFT/CT- 核醫學(xué)影像發(fā)展的未來(lái)[J].醫療設備信.遞質(zhì)顯像劑、受體顯像劑等新型顯像劑的應用對這類(lèi)疾病進(jìn)行中國煤化工研究。[7]黃RYHCN M H G[J].醫療衛生裝備,通過(guò)PET -CT的引進(jìn),提高了我院的腫瘤診治水平,對2004(9):41 -42.腫瘤的早期診斷、選擇合適的治療方案起到指導作用,取得良22卷5期驟2007.5.25.

論文截圖
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院