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