李 楠(首鋼京唐鋼鐵聯(lián)合有限責任公司,河北唐山 063000)
基于索引的數(shù)據(jù)庫優(yōu)化方案在軋鋼LIMS系統(tǒng)的應用
李楠
(首鋼京唐鋼鐵聯(lián)合有限責任公司,河北唐山063000)
隨著公司軋鋼產品檢驗壓力、產品檢驗工作強度不斷增大,導致檢驗數(shù)據(jù)量地不斷增加,軋鋼LIMS系統(tǒng)執(zhí)行效率明顯降低,本文提出將基于索引的數(shù)據(jù)庫優(yōu)化方案應用到軋鋼LIMS系統(tǒng)中,優(yōu)化系統(tǒng)性能,有效地提高系統(tǒng)響應速度。優(yōu)化后的軋鋼LIMS系統(tǒng)使職工的工作效率提高了2倍,職工可以投入更多的工作時間分析實驗數(shù)據(jù),滿足公司進一步發(fā)展及客戶的需求。
軋鋼LIMS系統(tǒng)索引優(yōu)化
首鋼京唐公司軋鋼LIMS系統(tǒng)涵蓋包括板坯,熱軋卷,冷軋卷的所有檢驗任務,同時還包括了檢驗設備、人員、檢驗文件等實驗室資源的全面管理。隨著公司投入的生產線越來越多。檢驗委托單數(shù)量激增,產品檢驗數(shù)量激增,使用頻率越來越低的系統(tǒng)數(shù)據(jù)量變得很龐大,系統(tǒng)性能問題逐漸凸顯出來,系統(tǒng)執(zhí)行效率明顯降低,人員檢驗效率降低,工作強度增大,急需對現(xiàn)有的軋鋼LIMS系統(tǒng)進行性能優(yōu)化。
本文在對SQL語句的執(zhí)行流程進行詳細的分解和分析后,提出基于索引的數(shù)據(jù)庫性能優(yōu)化方案,在軋鋼LIMS系統(tǒng)數(shù)據(jù)庫中主要表字段上增加索引,從而優(yōu)化系統(tǒng)數(shù)據(jù)庫性能,極大地提高系統(tǒng)響應速度[1]。
優(yōu)化后的軋鋼LIMS系統(tǒng)極大的提高了系統(tǒng)的響應速度,接收委托單時間減少為原來的1/3,雙擊委托單打開時間為原來的1/4,操作系統(tǒng)節(jié)省了2/3的時間,工作效率提高了2倍,職工可以投入更多的工作時間分析實驗數(shù)據(jù)。
1.1LIMS系統(tǒng)概述
LIMS系統(tǒng)即實驗室信息管理系統(tǒng),是針對實驗室信息化需求的全面解決方案。它以質量檢測為核心,有效整合并管理實驗室內包括人員、設備、物料、樣品在內的各種信息,并為數(shù)據(jù)分析、質量檢測和監(jiān)控提供全面的技術支持。
1.2LIMS在軋鋼分析中心的應用
軋鋼LIMS系統(tǒng)負責軋鋼成品包括板坯,冷軋卷,熱軋卷,冷軋介質的性能測試,系統(tǒng)從公司三級系統(tǒng)接收委托信息和檢驗計劃,通過指定制樣機指定儀器設備功能與設備做交互,并取得檢驗結果,系統(tǒng)根據(jù)檢驗計劃自動修約判定,并經過審核,數(shù)據(jù)上傳三級系統(tǒng)出具檢驗報告。
判斷一個系統(tǒng)性能優(yōu)劣最直接最有效的依據(jù)就是數(shù)據(jù)庫的查詢和響應時間、處理器速度、內存大小、磁盤讀寫速度等硬件配置以及表結構、是否建立索引、索引是否合理等結構方面的因素都影響Oracle數(shù)據(jù)庫查詢時間。
2.1主要數(shù)據(jù)庫的性能指標
數(shù)據(jù)庫系統(tǒng)性能的判定一般以五個數(shù)據(jù)庫性能指標為基礎進行:數(shù)據(jù)庫用戶響應時間、系統(tǒng)吞吐量、內存使用情況、數(shù)據(jù)庫命中率及I/O量。一般情況下,SQL語句消耗百分之七十到百分之九十的數(shù)據(jù)庫資源,應用程序對數(shù)據(jù)的所有操作最終都會以SQL語句對數(shù)據(jù)庫的操作來實現(xiàn),所以SQL語句的執(zhí)行效率直接決定了數(shù)據(jù)庫系統(tǒng)的性能,對降低數(shù)據(jù)用戶響應時間等有著極其重要的意義。
2.2索引及唯一索引
索引類似于書的目錄,是為了加速對特定表數(shù)據(jù)的訪問而創(chuàng)建的數(shù)據(jù)段,使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結構,例如employee表的姓(lname)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會更快地獲得該信息。Qracle的“索引”對象,與表關聯(lián)的可選對象,提高SQL查詢語句的速度。
實現(xiàn)打開委托單功能時主要做三部分內容查詢,主要SQL語句如下:
(1)select * from“業(yè)務流表”where processinstid=?
SQL執(zhí)行效率:0.062s
(2)select * from“委托單業(yè)務主表”where processinstid=?
SQL執(zhí)行效率:1.422s
(3)select * from“檢驗結果主表”where smp_set_id=?
SQL執(zhí)行效率:1.469s
(4) select * from“檢驗結果子表”where smp_set_id=? and SXH>0 or SXH is null
SQL執(zhí)行效率:0.062s
(5)select distinct t.parameter_id,t.value,t.yvalue from“檢驗結果子表”where t.parameter_id in ('CERT_DATE','CERT_INLOT','CERT_SURV','CERT_BATCH') andt. smp_set_id=?
SQL執(zhí)行效率:0.031s
(6)select sample_id,count(test_proc_id) as count from“檢驗結果主表”where smp_set_id=?group by(sample_id) order by sample_id
SQL執(zhí)行效率:1.453
針對SQL語句:(2)、(3)進行優(yōu)化,在表PROCESSINSTID字段添加索引。
實踐結果證明,系統(tǒng)用戶響應速度得到極大的提高,接收委托單優(yōu)化前30秒以上,優(yōu)化后5秒左右;
雙擊委托單打開優(yōu)化前20秒,優(yōu)化后2秒;實施后數(shù)據(jù)庫空間增加1G左右,對空間的占用很小。
本文提出的優(yōu)化系統(tǒng)方案簡單、有效,極大提高系統(tǒng)響應速度,進一步提高管理效率。職工的工作效率提高一倍,在2014年新產線投產后,仍滿足公司進一步發(fā)展及客戶要求。
[1] (美國)普斯特.管理信息系統(tǒng):用信息技術解決商務問題.清華大學出版社,2009,12~75.