張晶晶 李晨鳴 咸陽職業技術學院
醫院信息系統是各個醫護人員正常工作依賴的有效工具,通過該平臺能夠將病人的門診信息、病床信息、財務管理等信息有效的進行統計及處理。強大的醫療信息系統是保證醫院能夠正常工作的基礎,一旦出現非正常情況,如系統癱瘓或者系統的性能無法跟上正常工作的節奏,均會導致醫院的日常運行受到影響。在危急情況下,直接影響病人的生命安全。在整個醫院信息系統中,數據庫系統是主要核心。所以要想確保醫院信息系統的正常運行,數據庫的有效及可靠運行是關鍵。
Oracle 數據庫是目前被各個領域的管理系統中使用最多的一種數據庫,但隨著數據庫的規模不斷擴大,數據庫的數據結構越發復雜,連接數據庫的用戶也越來越多等問題,導致數據庫性能有所下降。當出現此種情況時,便需要對該系統進行優化和調整,合理的對Oracle內部數據結構進行資源的配置,充分發揮Oracle 數據庫的高性能優勢。為了提高Oracle 數據庫的性能,必須要對 Oracle 數據庫的體系結構進行深入的理解。
Oracle 數據庫體系結構中主要包括兩個方面:即用戶進程和實例化對象。用戶進程在進入服務進程之后,進入了Oracle 數據庫的系統全局區,系統全局區包含了各種緩存區,其中包括庫緩存、數據字典緩存、數據庫高速緩存區、重做日志緩存區。該區域的數據信息和數據庫文件中的數據文件、控制文件、聯機日志等文件進行信息的交互,使得數據能夠保存在緩沖區中,進而提高了 Oracle 數據庫的效率。
Oracle 數據庫是醫療信息系統的數據庫,該數據庫將長期服務于醫療信息管理系統的整個工作過程。因此,其性能的優劣直接決定著醫療信息系統的整體性能。為了保證使用有限的硬件資源充分提高數據庫系統的性能,數據庫性能的提高是亟需要解決的問題。Oracle數據存儲硬件配置包含了一臺主機服務器、一臺備用服務器、主一臺服務器存儲、一臺備用服務器存儲以及兩塊網卡。
數據庫的優化主要包括了四個階段,這四個階段自底向上分為:第一個階段,對外部環境及操作系統級別的優化,該過程的優化就相當于在外部提供性能較高的數據庫硬件環境; 第二個階段,數據庫配置級別的優化,該過程的優化可通過對初始化參數進行優化設計以及數據庫連接方式的初始化等操作;第三個階段,數據庫設計級別優化,數據庫設計過程中會包含空間的分配及物理文件的存儲位置分配等問題,這些分配問題處理完成能夠直接提升數據庫的性能;第四個階段,優化訪問 Oracle 的 SQL 語句,該優化的重心主要為參數綁定及索引的應用上,本文將從第四個方面進行數據庫優化的。
優化 SQL 語句是提高 Qracle 數據庫的關鍵技術,對于查詢相同的查詢要求,可以使用不同的 SQL 語句進行查詢,不同的 SQL執行語句會帶來不同的工作效率。因此,選擇高效率的SQL 執行過程也是改變醫療信息系統的關鍵。SQL 語句的執行過程分為軟解析和硬解析。軟解析首先對語法進行檢查,然后是對語義進行檢查,再對檢查結果進行分支判斷,判斷是否進行優化模式的處理。最終形成SQL 執行計劃,返回處理結果。
通過對執行計劃建立索引之前 和建立索引之后進行對比,可發現建立索引之后的 cost 從 46468 降低為了 1,掃描代價明顯降低。從而證明了通過優化 SQL 語句能夠提高 Oracle 數據庫的處理性能, 其在未來具有廣闊的發展前景。
本文針對醫療信息系統越來越龐大,數據存儲結構越發復雜等問題帶來的醫院信息系統效率下降、響應時間變長的問題,提出了通過優化 SQL 語句來對醫療信息系統進行整體系統性能提升的方法。該方法通過對 Oracle 的體系結構及 Oracle 性能的相關對象進行監測,并對數據庫優化的四個方面進行總結,著手研究通過索引對數據庫性能的優化。