專(zhuān)利名稱(chēng)::優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)庫(kù)的優(yōu)化技術(shù),具體地說(shuō),涉及對(duì)數(shù)據(jù)庫(kù)顧問(wèn)程序(advisor)的配置參數(shù)進(jìn)行優(yōu)化的方法及裝置。
背景技術(shù):
:最近十幾年,為了解決在數(shù)據(jù)庫(kù)管理和性能優(yōu)化上日益增加的復(fù)雜度,數(shù)據(jù)庫(kù)軟件產(chǎn)品提供商已在提供自?xún)?yōu)化和自主計(jì)算解決方案方面獲得了顯著的進(jìn)步?,F(xiàn)有的數(shù)據(jù)庫(kù)軟件產(chǎn)品中提供了多個(gè)數(shù)據(jù)庫(kù)顧問(wèn)程序,例如,優(yōu)化顧問(wèn)程序、升級(jí)顧問(wèn)程序、訪問(wèn)顧問(wèn)程序等,以幫助用戶(hù)自動(dòng)設(shè)計(jì)數(shù)據(jù)庫(kù)并進(jìn)行數(shù)據(jù)庫(kù)的性能調(diào)優(yōu)?!愕?,這些數(shù)據(jù)庫(kù)顧問(wèn)程序都具有很多配置參數(shù),而且合適地設(shè)置這些配置參數(shù)對(duì)于最終生成的數(shù)據(jù)庫(kù)的性能具有重要的作用。通常,數(shù)據(jù)庫(kù)顧問(wèn)程序的所有配置參數(shù)都提供有缺省值,并且這些缺省值以適用于大范圍的數(shù)據(jù)庫(kù)應(yīng)用程序?yàn)槟康摹O旅婧?jiǎn)要介紹現(xiàn)有的主要數(shù)據(jù)庫(kù)優(yōu)化顧問(wèn)程序。微軟公司自1996年啟動(dòng)了關(guān)于自動(dòng)數(shù)據(jù)庫(kù)優(yōu)化和管理的AutoAdmin項(xiàng)目,目前,微軟SQLServer2005提供了數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)程序(DTA)以用于綜合選擇索引、物化視圖(materializedviews)和分區(qū)。關(guān)于數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)程序的詳細(xì)說(shuō)明可參考以下文獻(xiàn)1.S.Chaudhuri禾口V.Narasayya所著的AutoAdminWhat-IfIndexAnalysisUtility,InProceedingofSIGM0D,美國(guó)華盛頓州西雅圖,1998年6月1-4日;2.S.Agrawal,S.Chaudhuri禾口V.Narasayya所著的AutomatedSelectionofMaterializedViewsandIndexesinSQLDatabase,InProceedingofVLDB,埃及開(kāi)羅,2000年9月10-14日;3.S.Agrawal,S.Chaudhuri,LKollar,A.Marathe,V.Narasayya禾口M.Syamala所著的DatabaseTimingAdvisorforMicrosoftSQLServer2005,InProceedingsofVLDB,加拿大多倫多,2004年8月31日至9月3日;4.S.Chaudhuri,V.Narasayya禾口B.Yang所著的IntegratingVerticalandHorizontalPartitioningintoAutomatedPhysicalDatabaseDesign,InProceedingofSIGM0D,法國(guó)巴黎,2004年6月13-18日。Oracle公司提供的SQL性能優(yōu)化是作為優(yōu)化器的擴(kuò)展。Oracle10g提供了自動(dòng)選擇索引和物化視圖的工具,詳情可參考以下文獻(xiàn)1.B.Dageville,D.Das,K.Dias,K.Yagoub,M.Zait禾口M.Ziauddin所著的AutomaticSQLTuninginOracle10g,InProceedingsofVLDB,加拿大多倫多,2004年8月31日至9月3日;2.K.Dias,M.Ramacher,U.Shaft,V.Venkataramamani禾口G.Wood所著的AutomaticPerformanceDiagnosisandTuninginOracle,InProceedingsofCIDR,美國(guó)力口州Asilomar,2005年1月4-7日;3.B.Dageville禾口K.Dias所著的Oracle'sSelf-TuningArchitectureandSolutions,IEEEDataEngineeringBulletin,29(3):24-31,2006。在上述的顧問(wèn)程序中都提供有許多配置參數(shù),通常也提供這些配置參數(shù)的缺省值/初始值。然而,如前所述,這些缺省值/初始值通常被設(shè)置成適用于大范圍的數(shù)據(jù)庫(kù)應(yīng)用程序,因而缺乏靈活性。而且,缺省值/初始值通常是在開(kāi)發(fā)數(shù)據(jù)庫(kù)軟件產(chǎn)品的過(guò)程中基于內(nèi)置模型和試探法或者基于經(jīng)驗(yàn)設(shè)置的,沒(méi)有統(tǒng)計(jì)上的證明表示這些缺省值/初始值是適當(dāng)?shù)?。?dāng)用戶(hù)使用數(shù)據(jù)庫(kù)顧問(wèn)程序建立數(shù)據(jù)庫(kù)時(shí),會(huì)面臨顧問(wèn)程序的配置參數(shù)太多的困境。數(shù)據(jù)庫(kù)管理員會(huì)花費(fèi)很多時(shí)間和精力來(lái)調(diào)整這些參數(shù),并且通常數(shù)據(jù)庫(kù)管理員根據(jù)自身的經(jīng)驗(yàn)來(lái)選擇配置參數(shù)的值或者直接遵照缺省值/初始值,這樣的話,如果選擇不當(dāng)或者缺省值/初始值設(shè)置不當(dāng),則不能獲得好的數(shù)據(jù)庫(kù)性能。目前尚未發(fā)現(xiàn)現(xiàn)有技術(shù)中存在基于統(tǒng)計(jì)方法的評(píng)估和優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的技術(shù)方案。
發(fā)明內(nèi)容本發(fā)明正是基于上述的技術(shù)問(wèn)題而提出的,其目的在于提供一種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法及裝置,其能夠以統(tǒng)計(jì)的方法確定配置參數(shù)對(duì)于數(shù)據(jù)庫(kù)性能的影響,并提供配置參數(shù)的優(yōu)化建議。根據(jù)本發(fā)明的一個(gè)方面,提供一種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法,其包括使用DOE實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)所述測(cè)試實(shí)驗(yàn)對(duì)應(yīng)所述配置參數(shù)的一組取值;執(zhí)行所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù);測(cè)量每一個(gè)所述推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果;以及分析所有所述推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)所述數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。根據(jù)本發(fā)明的另一個(gè)方面,提供一種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置,其包括測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊,用于使用DOE實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)所述測(cè)試實(shí)驗(yàn)對(duì)應(yīng)所述配置參數(shù)的一組取值;測(cè)試實(shí)驗(yàn)執(zhí)行模塊,用于執(zhí)行所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù);性能測(cè)量模塊,用于測(cè)量每一個(gè)所述推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果;以及分析模塊,用于分析所有所述推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)所述數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法的流程圖;圖2是數(shù)據(jù)庫(kù)顧問(wèn)程序的一個(gè)例子的示意圖;圖3是圖1所示的實(shí)施例中設(shè)計(jì)多個(gè)測(cè)試實(shí)驗(yàn)的步驟的流程圖;圖4是圖1所示的實(shí)施例中執(zhí)行多個(gè)測(cè)試實(shí)驗(yàn)的步驟的流程圖;圖5是圖1所示的實(shí)施例中分析測(cè)量結(jié)果的步驟的流程圖;圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置的方框圖。具體實(shí)施例方式相信通過(guò)以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例的詳細(xì)描述,本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)將更加明顯。在詳細(xì)描述本發(fā)明的具體實(shí)施例之前,先簡(jiǎn)要介紹幾個(gè)概念。實(shí)驗(yàn)設(shè)計(jì)(DesignofExperiments,簡(jiǎn)稱(chēng)DOE)是研究如何制定適當(dāng)?shù)膶?shí)驗(yàn)方案以便對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行有效的統(tǒng)計(jì)分析的數(shù)學(xué)理論與方法,其采用多個(gè)實(shí)驗(yàn)的方式來(lái)以最小的努力搜集測(cè)試系統(tǒng)的最多的信息。關(guān)于DOE的詳情,可參考D.C.Montgonery所著的DesignandAnalysisofExperiments(6thEdition),Wiley,2005年。對(duì)于軟件測(cè)試,傳統(tǒng)的基于DOE的統(tǒng)計(jì)方法是正交設(shè)計(jì)(0rthogonalDesign)方法,其能夠節(jié)約大量的測(cè)試時(shí)間和成本。在正交設(shè)計(jì)方法中,使用正交數(shù)組來(lái)選擇測(cè)試組合和配置。然而,正交數(shù)組非常嚴(yán)格,在很多情況下,對(duì)于某些因子、水平等不能使用正交數(shù)組,因此,引入了覆蓋數(shù)組(CoveringArray)的概念。關(guān)于覆蓋數(shù)組的詳情,可參考以下文獻(xiàn)l)M.B.Cohen,C.J.Colbo證,P.B.Gibbons禾口W.B.Mugridge所著的Constructingtestsuitesforinteractiontesting,InProceedingofthelnternationalConferenceonSoftwareEngineering(ICSE2003),俄勒岡州波特蘭,2003年5月;2)M.B.Cohen,C.J.Colbo證禾口A.C.H丄ing所著的Augmentingsimulatedannealingtobuildinteractiontestsuites,InProceedingsofthel4thIEEEInternationalSymposiumonSoftwareReliabilityEngineering(ISSRE2003),DenverC0,2003年11月;3)M.B.Cohen所著的DesigningTestSuitesforSoftwareInteractionTesting,Ph.D.Dissertation,奧克蘭大學(xué),2004年。下面僅介紹混合水平覆蓋數(shù)組(MixedLevelCoveringArray)的定義?;旌纤礁采w數(shù)組可表示為MCA(N;t,k,(Vl,...,Vk)),其是關(guān)于v個(gè)符號(hào)的NXk數(shù)組,其中v-I^,Vi,該數(shù)組具有以下特性1)每一列i(1《i《k)只包含來(lái)自Vi的集合Si的元素;2)每個(gè)NXt子數(shù)組的行覆蓋來(lái)自t個(gè)列的值的所有t個(gè)組元(t-tuple)至少一次?;旌纤礁采w數(shù)組也可以表示為MCA(N;t,O;',...,w"),其中k二2^i;,v二Z^fiWi°例如,MCA(12;2,4,(4,3,3,2))也可寫(xiě)作MCA(12;2,413221)。下面參考附圖,詳細(xì)說(shuō)明本發(fā)明的具體實(shí)施例。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法的流程圖。下面根據(jù)附圖,對(duì)本實(shí)施例進(jìn)行說(shuō)明。在本實(shí)施例中,假設(shè)數(shù)據(jù)庫(kù)顧問(wèn)程序I具有k個(gè)配置參數(shù)...,Ck}。如圖1所示,在步驟S101,測(cè)量數(shù)據(jù)庫(kù)的初始性能,并將所測(cè)量的性能數(shù)據(jù)作為數(shù)據(jù)庫(kù)的基線數(shù)據(jù)(baselinedata)。在本步驟中,數(shù)據(jù)庫(kù)顧問(wèn)程序I的各個(gè)配置參數(shù){Q,...,Ck}被無(wú)約束地設(shè)置,然后對(duì)數(shù)據(jù)庫(kù)應(yīng)用一個(gè)查詢(xún)工作負(fù)載(queryworkload),數(shù)據(jù)庫(kù)執(zhí)行該查詢(xún)工作負(fù)載,從而生成相應(yīng)的性能數(shù)據(jù),作為基線數(shù)據(jù)。此時(shí),數(shù)據(jù)庫(kù)顧問(wèn)程序和數(shù)據(jù)庫(kù)被認(rèn)為處于基線狀態(tài)。在本實(shí)施例中,數(shù)據(jù)庫(kù)的性能數(shù)據(jù)可以是下述的任意一個(gè)或多個(gè)整個(gè)查詢(xún)工作負(fù)載的總消耗時(shí)間、整個(gè)查詢(xún)工作負(fù)載的總CPU時(shí)間、每個(gè)查詢(xún)的消耗時(shí)間和每個(gè)查詢(xún)的CPU時(shí)間。查詢(xún)工作負(fù)載是一組相關(guān)的查詢(xún),S卩,SQLSELECT或UPDATE語(yǔ)句。查詢(xún)工作負(fù)載可從諸如TPC-H的測(cè)試包中選擇,或者根據(jù)要求生成,或者從實(shí)際的客戶(hù)環(huán)境中收集。圖2示出了一個(gè)數(shù)據(jù)庫(kù)顧問(wèn)程序的例子的示意圖。從圖2可以看出,該顧問(wèn)程序具有很多配置參數(shù),例如"Numberofindexesallowedpertable,,、"Lowbenefitthreshold"等。所謂"無(wú)約束地設(shè)置",就是將配置參數(shù)的值選擇為"無(wú)限制"。在步驟SllO,使用DOE實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)數(shù)據(jù)庫(kù)顧問(wèn)程序I的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)測(cè)試實(shí)驗(yàn)對(duì)應(yīng)配置參數(shù){&,...,Ck}的一組取值。圖3示出了步驟S110的處理流程圖。如圖3所示,在步驟S301,設(shè)置數(shù)據(jù)庫(kù)顧問(wèn)程序I的每一個(gè)配置參數(shù)&(1《i《k)的所有水平以及每一個(gè)水平的值。這可由使用者根據(jù)經(jīng)驗(yàn)或者前面所得到的基線數(shù)據(jù)進(jìn)行設(shè)置。下面以數(shù)據(jù)庫(kù)顧問(wèn)程序I是IBM優(yōu)化專(zhuān)家工作負(fù)載索引顧問(wèn)程序(IBMOptimizationExpertWorkloadIndexAdvisorWIA)為例進(jìn)行說(shuō)明。在該顧問(wèn)程序中,有l(wèi)l個(gè)配置參數(shù),如表l所示表1<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>其中,參數(shù)C01表示為新推薦的索引分配的磁盤(pán)空間量;參數(shù)C02表示對(duì)于每個(gè)表所創(chuàng)建索引的最大允許數(shù)量(包括WIA推薦的索引和已有的索引);參數(shù)C03表示產(chǎn)生索引候選的策略,該策略控制WIA推薦索引的情況;典型的索引生成策略包括l)Comprehensive(全面的),其產(chǎn)生有助匹配和顯示索引掃描以及索引只讀的索引;2)Conditional(有條件的),其產(chǎn)生有助匹配和顯示索引掃描的索引,并且有條件地產(chǎn)生有助索引只讀的索引;3)Intermediate(中等的),其產(chǎn)生有助匹配和顯示索引掃描的索引;4)Minimal(最小的),其產(chǎn)生只有助匹配索引掃描的索引;5)Customized(自定義的),其根據(jù)特定的重要閾值產(chǎn)生索引以考慮更加優(yōu)化重要的查詢(xún);小于低的重要閾值的查詢(xún)將使用基本策略,在兩個(gè)閾值之間的查詢(xún)將使用中等策略,大于高的重要閾值的查詢(xún)將使用全面的策略;參數(shù)C04表示用于產(chǎn)生索引推薦的策略,推薦策略包括1)僅是效益Benefitonly(積極的),其基于對(duì)工作負(fù)載所生成的候選索引的整體估計(jì)效益進(jìn)行推薦,而不管索引使用的磁盤(pán)空間;2)效益成本比(保守的),其基于對(duì)工作負(fù)載所生成的候選索引的整體估計(jì)效益與索引所使用的磁盤(pán)空間的比較進(jìn)行推薦;參數(shù)C05表示候選索引中關(guān)鍵字的最大允許數(shù)量;參數(shù)C06表示查詢(xún)重要閾值,其用于將工作負(fù)載中的SQL語(yǔ)句分成分別具有低、中、高重要性的不同的組;參數(shù)C07表示查詢(xún)效益閾值,其用于將推薦索引候選識(shí)別成相應(yīng)的重要性組;參數(shù)C08表示查詢(xún)權(quán)重策略,WIA根據(jù)不同的查詢(xún)權(quán)重策略將優(yōu)先權(quán)值應(yīng)用于工作負(fù)載中的每個(gè)SQL查詢(xún),查詢(xún)權(quán)重基于運(yùn)行時(shí)信息(如果運(yùn)行時(shí)信息可得),諸如消耗時(shí)間和CPU時(shí)間,或者基于執(zhí)行數(shù)(如果運(yùn)行時(shí)信息不可得);參數(shù)C09表示所有推薦候選索引的集群比;參數(shù)C10表示基于引用完整性產(chǎn)生外鍵索引;參數(shù)Cll用于規(guī)定收集統(tǒng)計(jì)信息的策略,由于WIA依賴(lài)統(tǒng)計(jì)信息,因此在運(yùn)行WIA之前,需要收集相關(guān)的統(tǒng)計(jì)信息。表2示出了表1中的每一個(gè)配置參數(shù)Ci的水平以及每個(gè)水平的值Vi。表2<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>在設(shè)置了每個(gè)配置參數(shù)的水平及每個(gè)水平的值后,在步驟S305,根據(jù)所設(shè)置的配置參數(shù)的水平,選擇合適的覆蓋數(shù)組。如前所述,覆蓋數(shù)組表示為MCA(N;t,k,(Vl,...,Vk)),其中N表示實(shí)驗(yàn)次數(shù),t通常選擇2,表示結(jié)對(duì)測(cè)試。通常,合適的覆蓋數(shù)組可從已有的已知數(shù)量結(jié)果中獲得。對(duì)于上述的WIA的例子,配置參數(shù)和水平的信息可表示為(11,(3,3,5,2,3,3,3,3,3,2,3))或者(5^2",那么選擇覆蓋數(shù)組MCA(15;2,513822)用于測(cè)試實(shí)驗(yàn)設(shè)計(jì)。然后,在步驟S310,基于在步驟S301中設(shè)置的每一個(gè)配置參數(shù)的每一個(gè)水平的值和在步驟S305中獲得的覆蓋數(shù)組,生成數(shù)據(jù)庫(kù)顧問(wèn)程序I的多個(gè)測(cè)試實(shí)驗(yàn)。表3示出了用于上述WIA的測(cè)試實(shí)驗(yàn)。表3<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>其中,每一行代表一個(gè)測(cè)試實(shí)驗(yàn),其對(duì)應(yīng)一組配置參數(shù)的值?,F(xiàn)在返回圖1,在步驟S120,執(zhí)行通過(guò)步驟S110設(shè)計(jì)的多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù)。也就是說(shuō),在數(shù)據(jù)庫(kù)顧問(wèn)程序I上依次執(zhí)行每一個(gè)測(cè)試實(shí)驗(yàn),從而獲得與測(cè)試實(shí)驗(yàn)的次數(shù)相同的推薦數(shù)據(jù)庫(kù)。圖4示出了執(zhí)行多個(gè)測(cè)試實(shí)驗(yàn)的步驟S120的流程圖。如圖4所示,對(duì)于第一個(gè)測(cè)試實(shí)驗(yàn),在步驟S401,根據(jù)該測(cè)試實(shí)驗(yàn)所對(duì)應(yīng)的配置參數(shù)的一組值,運(yùn)行數(shù)據(jù)庫(kù)顧問(wèn)程序I,從而獲得數(shù)據(jù)庫(kù)顧問(wèn)程序推薦。也就是說(shuō),將數(shù)據(jù)庫(kù)顧問(wèn)程序I的配置參數(shù)&設(shè)置為第一組實(shí)驗(yàn)值,然后運(yùn)行數(shù)據(jù)庫(kù)顧問(wèn)程序I。該步驟可以使用應(yīng)用數(shù)據(jù)接口(API)來(lái)實(shí)現(xiàn)。數(shù)據(jù)庫(kù)顧問(wèn)程序推薦可以是用于收集統(tǒng)計(jì)信息的RUNSTATS命令,或者用于創(chuàng)建索引的CREATEINDEXDDLs,或者用于創(chuàng)建視圖的CREATEVIEWDDLs,或者用于創(chuàng)建MQTs的MQT候選DDLs。然后,在步驟S405,將在步驟S401中得到的數(shù)據(jù)庫(kù)顧問(wèn)程序推薦應(yīng)用于數(shù)據(jù)庫(kù),從而獲得推薦數(shù)據(jù)庫(kù)。然后,對(duì)于第二個(gè)測(cè)試實(shí)驗(yàn)直到最后一個(gè)測(cè)試實(shí)驗(yàn),重復(fù)執(zhí)行步驟S401和S405,以獲得相應(yīng)的推薦數(shù)據(jù)庫(kù)。在步驟S120中,在每次執(zhí)行一個(gè)測(cè)試實(shí)驗(yàn)之前,數(shù)據(jù)庫(kù)顧問(wèn)程序和數(shù)據(jù)庫(kù)應(yīng)處于基線狀態(tài),以確保每次測(cè)試實(shí)驗(yàn)都是基于相同的數(shù)據(jù)庫(kù)狀態(tài)。返回圖l,在步驟S130,測(cè)量每一個(gè)推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果。在該步驟中,使用與步驟S101相同的查詢(xún)工作負(fù)載,并將其應(yīng)用于每一個(gè)推薦數(shù)據(jù)庫(kù),從而得到每一個(gè)推薦數(shù)據(jù)庫(kù)的與性能相關(guān)的測(cè)量結(jié)果。在本實(shí)施例中,測(cè)量結(jié)果可以采用測(cè)量推薦數(shù)據(jù)庫(kù)的性能而得到的性能數(shù)據(jù),也可以采用測(cè)量推薦數(shù)據(jù)庫(kù)的性能而得到的性能數(shù)據(jù)與在步驟101中測(cè)量的基線數(shù)據(jù)的差。然后,在步驟S140,分析在步驟S130中得到的所有推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)數(shù)據(jù)庫(kù)的影響大的配置參數(shù),那么這些配置參數(shù)是數(shù)據(jù)庫(kù)顧問(wèn)程序I的重要的配置參數(shù)。圖5示出了分析測(cè)量結(jié)果的步驟S140的流程圖,其中,圖5(a)是使用極差分析的處理的流程圖,圖5(b)是使用方差分析的處理的流程圖。如圖5(a)所示,當(dāng)獲得了所有推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果后,在步驟S501,對(duì)于每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的測(cè)量結(jié)果的平均值,該平均值可以表明該水平對(duì)于該配置參數(shù)的貢獻(xiàn)。然后,在步驟S505,計(jì)算對(duì)于該配置參數(shù)所計(jì)算的平均值中最大的平均值與最小的平均值之間的差,作為該配置參數(shù)的極差。然后,在步驟S510,根據(jù)所計(jì)算的各個(gè)配置參數(shù)的極差,對(duì)這些配置參數(shù)進(jìn)行排序,其中,極差最大的配置參數(shù)被確定為對(duì)數(shù)據(jù)庫(kù)的影響最大。對(duì)于上述的WIA例子,表4示出了測(cè)量結(jié)果的分析結(jié)果。表4<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>其中,羅馬字母I至V表示配置參數(shù)的水平,R表示極差。那么,在表4中,例如第16行第2列的元素"1363.98"表示配置參數(shù)C03的第一個(gè)水平"5"所對(duì)應(yīng)的測(cè)量結(jié)果的平均值。從表4中可以看出,配置參數(shù)C03的極差最大,那么,配置參數(shù)C03對(duì)于數(shù)據(jù)庫(kù)的影響也最大,被排在第1位,排在第2和第3位的分別是配置參數(shù)Cll和C05。在另一個(gè)實(shí)施例中,如圖5(b)所示,在步驟S501',對(duì)于每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的測(cè)量結(jié)果的總和,接著在步驟S505',根據(jù)公式(l),計(jì)算該配置參數(shù)的偏差平方和。<formula>formulaseeoriginaldocumentpage15</formula>(1)其中,&表示第i個(gè)配置參數(shù),Vi表示配置參數(shù)&的水平的個(gè)數(shù),Yfi表示配置參數(shù)&的水平j(luò)所對(duì)應(yīng)的測(cè)量結(jié)果的和,lf表示包含配置參數(shù)&的水平j(luò)的測(cè)試實(shí)驗(yàn)的個(gè)數(shù),N表示測(cè)試實(shí)驗(yàn)的總個(gè)數(shù),Sci表示配置參數(shù)&的偏差平方和。然后,在步驟S510',根據(jù)公式(2),計(jì)算該配置參數(shù)的方差<formula>formulaseeoriginaldocumentpage15</formula>(2)然后,在步驟S515',根據(jù)在步驟S510'所計(jì)算的各個(gè)配置參數(shù)的方差,對(duì)配置參數(shù)進(jìn)行排序,其中,方差最大的配置參數(shù)被確定為對(duì)數(shù)據(jù)庫(kù)的影響最大?!愕兀讲罘治龌贔isher原理。使用F測(cè)試方法,方差反映測(cè)試數(shù)據(jù)的偏離程度,從而能夠用于分析每個(gè)配置參數(shù)對(duì)于測(cè)量結(jié)果的影響。根據(jù)上述分析的結(jié)果,可以推薦配置參數(shù)的優(yōu)化值。在上述的WIA的例子中,排在前3位的配置參數(shù)分別是C03INDEX_GENERATI0N_P0LICY,C11STATS_C0LLECTI0N_P0LICY和C05MAX_KEY_PER_TABLE。配置參數(shù)C03控制WIA如何產(chǎn)生中等的索引候選,即僅僅有助于索引匹配,或者有助于索引顯示,或者有助于索引只讀。因此,該配置參數(shù)是非常重要的參數(shù),其對(duì)WIA的輸出有貢獻(xiàn),并在本質(zhì)上確定推薦的優(yōu)劣。對(duì)于配置參數(shù)Cll,基本的統(tǒng)計(jì)基本上確定WIA中成本模型和What-If功能的輸入?yún)?shù)。最終的索引候選選擇主要基于通過(guò)成本模型和What-If計(jì)算的結(jié)果,因此,該配置參數(shù)也是重要的參數(shù)。配置參數(shù)C05限定推薦索引中關(guān)鍵字的最大數(shù)量,顯然,索引中的關(guān)鍵字越多,該索引被選擇以有助于索引只讀的可能性越大,這避免了掃描磁盤(pán),并顯著減少1/0開(kāi)銷(xiāo)。因此,該配置參數(shù)也是重要的參數(shù)。通過(guò)以上描述可以看出,本實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法使用基于統(tǒng)計(jì)的D0E實(shí)驗(yàn)設(shè)計(jì)方法以設(shè)計(jì)和選擇高效的測(cè)試實(shí)驗(yàn),并使用覆蓋數(shù)組以獲得相對(duì)少的測(cè)試實(shí)驗(yàn),通過(guò)分析測(cè)試實(shí)驗(yàn)的結(jié)果對(duì)配置參數(shù)進(jìn)行排序,以確定重要的配置參數(shù),從而能夠自動(dòng)地評(píng)估數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù),同時(shí)提供配置參數(shù)的優(yōu)化建議,極大方便了配置參數(shù)的缺省值/初始值的適當(dāng)設(shè)置。另外,本實(shí)施例的方法還能夠節(jié)約數(shù)據(jù)庫(kù)管理員設(shè)置配置參數(shù)的時(shí)間和精力。在同一個(gè)發(fā)明構(gòu)思下,圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置的方框圖。下面結(jié)合附圖,詳細(xì)說(shuō)明本實(shí)施例,其中與前面實(shí)施例相同的部分,適當(dāng)省略其說(shuō)明。如圖6所示,本實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置600包括測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊601,其使用D0E實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)測(cè)試實(shí)驗(yàn)對(duì)應(yīng)配置參數(shù)的一組取值;測(cè)試實(shí)驗(yàn)執(zhí)行模塊602,其執(zhí)行測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊601所設(shè)計(jì)的多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù);性能測(cè)量模塊603,其測(cè)量每一個(gè)推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果;以及分析模塊604,其分析所有推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。在本實(shí)施例中,對(duì)于待測(cè)試的數(shù)據(jù)庫(kù)顧問(wèn)程序,首先,測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊601使用DOE實(shí)驗(yàn)設(shè)計(jì)方法來(lái)設(shè)計(jì)測(cè)試實(shí)驗(yàn)。具體地,在測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊601中,由設(shè)置單元6011設(shè)置數(shù)據(jù)庫(kù)顧問(wèn)程序的每一個(gè)配置參數(shù)的所有水平以及每一個(gè)水平的值,接著覆蓋數(shù)組選擇單元6012根據(jù)設(shè)置單元6011所設(shè)置的配置參數(shù)的水平,選擇合適的覆蓋數(shù)組。設(shè)置單元6011所設(shè)置的水平及其值以及覆蓋數(shù)組選擇單元6012所選擇的覆蓋數(shù)組被提供給測(cè)試實(shí)驗(yàn)生成單元6013,由測(cè)試實(shí)驗(yàn)生成單元6013生成數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn)。然后,測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊601所設(shè)計(jì)的測(cè)試實(shí)驗(yàn)被提供給測(cè)試實(shí)驗(yàn)執(zhí)行模塊602執(zhí)行,生成推薦數(shù)據(jù)庫(kù)。對(duì)于每一個(gè)測(cè)試實(shí)驗(yàn),在測(cè)試實(shí)驗(yàn)執(zhí)行模塊602中,數(shù)據(jù)庫(kù)顧問(wèn)程序運(yùn)行單元6021基于該測(cè)試實(shí)驗(yàn)中的配置參數(shù)的取值,運(yùn)行數(shù)據(jù)庫(kù)顧問(wèn)程序以獲得數(shù)據(jù)庫(kù)顧問(wèn)程序推薦,并提供給推薦數(shù)據(jù)庫(kù)生成單元6022。推薦數(shù)據(jù)庫(kù)生成單元6022將數(shù)據(jù)庫(kù)顧問(wèn)程序推薦應(yīng)用于數(shù)據(jù)庫(kù),從而生成推薦數(shù)據(jù)庫(kù)。然后,性能測(cè)量模塊603使用查詢(xún)工作負(fù)載測(cè)量每一個(gè)推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果。在本實(shí)施例中,測(cè)量結(jié)果采用測(cè)量推薦數(shù)據(jù)庫(kù)的性能而獲得的性能數(shù)據(jù)。如前所述,性能數(shù)據(jù)可以是整個(gè)查詢(xún)工作負(fù)載的總消耗時(shí)間、整個(gè)查詢(xún)工作負(fù)載的總CPU時(shí)間、每個(gè)查詢(xún)的消耗時(shí)間和每個(gè)查詢(xún)的CPU時(shí)間中的任意一個(gè)或多個(gè)。通過(guò)性能測(cè)量模塊603獲得的測(cè)量結(jié)果被送到分析模塊604,由分析模塊604分析所有推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。在一個(gè)實(shí)施例中,在分析模塊604中,平均值計(jì)算單元6041對(duì)于每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的測(cè)量結(jié)果的平均值,然后極差計(jì)算單元6042計(jì)算平均值計(jì)算單元6041所計(jì)算的平均值中最大的平均值與最小的平均值之間的差,作為該配置參數(shù)的極差,并由第一排序單元6043根據(jù)所計(jì)算的各個(gè)配置參數(shù)的極差,對(duì)配置參數(shù)進(jìn)行排序,其中,極差最大的配置參數(shù)被確定為對(duì)數(shù)據(jù)庫(kù)的影響最大。在另一個(gè)實(shí)施例中,在分析模塊604中,首先總和計(jì)算單元對(duì)于每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的測(cè)量結(jié)果的總和,然后偏差平方和計(jì)算單元根據(jù)公式(1)計(jì)算該配置參數(shù)的偏差平方和Sq=|]((")2/lf)_(I]")2/N,(1)j=lj=l其中,Ci表示第i個(gè)配置參數(shù),Vi表示配置參數(shù)Ci的水平的個(gè)數(shù),Yfi表示配置參數(shù)&的水平j(luò)所對(duì)應(yīng)的所述測(cè)量結(jié)果的和,^表示包含配置參數(shù)Ci的水平j(luò)的測(cè)試實(shí)驗(yàn)的個(gè)數(shù),N表示測(cè)試實(shí)驗(yàn)的總個(gè)數(shù),Sc,表示配置參數(shù)Ci的偏差平方和。所計(jì)算的偏差平方和被提供給方差計(jì)算單元,用于根據(jù)公式(2)計(jì)算該配置參數(shù)的方差工=sCi/(Vi_l),(2)然后,第二排序單元根據(jù)所計(jì)算的各個(gè)配置參數(shù)的方差,對(duì)配置參數(shù)進(jìn)行排序,其中,方差最大的配置參數(shù)被確定為對(duì)數(shù)據(jù)庫(kù)的影響最大。進(jìn)一步地,性能測(cè)量裝置603還預(yù)先測(cè)量數(shù)據(jù)庫(kù)的初始性能數(shù)據(jù),作為數(shù)據(jù)庫(kù)的基線數(shù)據(jù)。在這種情況下,測(cè)量結(jié)果可以采用測(cè)量推薦數(shù)據(jù)庫(kù)的性能而得到的性能數(shù)據(jù)與基線數(shù)據(jù)的差。應(yīng)當(dāng)指出,本實(shí)施例的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置600在操作上可以實(shí)現(xiàn)圖1、圖3、圖4和圖5所示的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法。應(yīng)當(dāng)指出,上述實(shí)施例中的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置及其各個(gè)組成部分可以由諸如超大規(guī)模集成電路或門(mén)陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場(chǎng)可編程門(mén)陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類(lèi)型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合實(shí)現(xiàn)。以上雖然通過(guò)一些示例性的實(shí)施例詳細(xì)描述了本發(fā)明的優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法和裝置,但是以上這些實(shí)施例并不是窮舉的,本領(lǐng)域技術(shù)人員可以在本發(fā)明的精神和范圍內(nèi)實(shí)現(xiàn)各種變化和修改。因此,本發(fā)明并不限于這些實(shí)施例,本發(fā)明的范圍僅由所附的權(quán)利要求限定'權(quán)利要求一種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法,包括使用DOE實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)所述測(cè)試實(shí)驗(yàn)對(duì)應(yīng)所述配置參數(shù)的一組取值;執(zhí)行所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù);測(cè)量每一個(gè)所述推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果;以及分析所有所述推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)所述數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述設(shè)計(jì)多個(gè)測(cè)試實(shí)驗(yàn)的步驟包括設(shè)置所述數(shù)據(jù)庫(kù)顧問(wèn)程序的每一個(gè)配置參數(shù)的所有水平以及所述所有水平的每一個(gè)的值;根據(jù)所設(shè)置的配置參數(shù)的水平,選擇合適的覆蓋數(shù)組;以及基于所述每一個(gè)配置參數(shù)的所述水平的每一個(gè)的值和所述覆蓋數(shù)組,生成所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn)。3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述執(zhí)行所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè)的步驟包括對(duì)于所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),基于所對(duì)應(yīng)的所述配置參數(shù)的一組取值,運(yùn)行所述數(shù)據(jù)庫(kù)顧問(wèn)程序以獲得數(shù)據(jù)庫(kù)顧問(wèn)程序推薦;以及將所述數(shù)據(jù)庫(kù)顧問(wèn)程序推薦應(yīng)用于所述數(shù)據(jù)庫(kù),以生成推薦數(shù)據(jù)庫(kù)。4.根據(jù)權(quán)利要求2或3所述的方法,其中,所述分析所述測(cè)量結(jié)果的步驟包括對(duì)于所述每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的所述測(cè)量結(jié)果的平均值;計(jì)算所述平均值中最大的平均值與最小的平均值之間的差,作為該配置參數(shù)的極差;以及根據(jù)所計(jì)算的各個(gè)配置參數(shù)的極差,對(duì)所述配置參數(shù)進(jìn)行排序,其中,所述極差最大的配置參數(shù)被確定為對(duì)所述數(shù)據(jù)庫(kù)的影響最大。5.根據(jù)權(quán)利要求2或3所述的方法,其中,所述分析所述測(cè)量結(jié)果的步驟包括對(duì)于所述每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的所述測(cè)量結(jié)果的總和;根據(jù)下述公式,計(jì)算該配置參數(shù)的偏差平方和SC4((")2《')-(IX')"N,<formula>formulaseeoriginaldocumentpage2</formula>其中,&表示第i個(gè)配置參數(shù),Vi表示配置參數(shù)&的水平的個(gè)數(shù),Yfi表示配置參數(shù)&的水平j(luò)所對(duì)應(yīng)的所述測(cè)量結(jié)果的和,l」e'表示包含配置參數(shù)&的水平j(luò)的測(cè)試實(shí)驗(yàn)的個(gè)數(shù),N表示測(cè)試實(shí)驗(yàn)的總個(gè)數(shù),Sci表示配置參數(shù)&的偏差平方和;根據(jù)下述公式,計(jì)算該配置參數(shù)的方差<formula>formulaseeoriginaldocumentpage2</formula>以及根據(jù)所計(jì)算的各個(gè)配置參數(shù)的方差,對(duì)所述配置參數(shù)進(jìn)行排序,其中,所述方差最大的配置參數(shù)被確定為對(duì)所述數(shù)據(jù)庫(kù)的影響最大。6.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的方法,其中,所述測(cè)量結(jié)果是通過(guò)測(cè)量所述推薦數(shù)據(jù)庫(kù)的性能而獲得的性能數(shù)據(jù)。7.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的方法,還包括在所述設(shè)計(jì)多個(gè)測(cè)試實(shí)驗(yàn)的步驟之前,測(cè)量所述數(shù)據(jù)庫(kù)的初始性能,并將所測(cè)得的性能數(shù)據(jù)作為所述數(shù)據(jù)庫(kù)的基線數(shù)據(jù)。8.根據(jù)權(quán)利要求7所述的方法,其中,所述測(cè)量結(jié)果是通過(guò)測(cè)量所述推薦數(shù)據(jù)庫(kù)的性能而獲得的性能數(shù)據(jù)與所述基線數(shù)據(jù)的差。9.根據(jù)權(quán)利要求6至8任意一項(xiàng)所述的方法,其中,所述數(shù)據(jù)庫(kù)的性能數(shù)據(jù)是整個(gè)查詢(xún)工作負(fù)載的總消耗時(shí)間、整個(gè)查詢(xún)工作負(fù)載的總CPU時(shí)間、每個(gè)查詢(xún)的消耗時(shí)間和每個(gè)查詢(xún)的CPU時(shí)間中的任意一個(gè)或多個(gè)。10.—種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置,包括測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊,用于使用DOE實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)所述測(cè)試實(shí)驗(yàn)對(duì)應(yīng)所述配置參數(shù)的一組取值;測(cè)試實(shí)驗(yàn)執(zhí)行模塊,用于執(zhí)行所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù);性能測(cè)量模塊,用于測(cè)量每一個(gè)所述推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果;以及分析模塊,用于分析所有所述推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)所述數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。11.根據(jù)權(quán)利要求IO所述的裝置,其中,所述測(cè)試實(shí)驗(yàn)設(shè)計(jì)模塊包括設(shè)置單元,用于設(shè)置所述數(shù)據(jù)庫(kù)顧問(wèn)程序的每一個(gè)配置參數(shù)的所有水平以及所述所有水平的每一個(gè)的值;覆蓋數(shù)組選擇單元,用于根據(jù)所設(shè)置的配置參數(shù)的水平,選擇合適的覆蓋數(shù)組;以及測(cè)試實(shí)驗(yàn)生成單元,用于基于所述每一個(gè)配置參數(shù)的所述水平的每一個(gè)的值和所述覆蓋數(shù)組,生成所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn)。12.根據(jù)權(quán)利要求10或11所述的裝置,其中,所述測(cè)試實(shí)驗(yàn)執(zhí)行模塊包括數(shù)據(jù)庫(kù)顧問(wèn)程序運(yùn)行單元,用于對(duì)于所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),基于所對(duì)應(yīng)的所述配置參數(shù)的一組取值,運(yùn)行所述數(shù)據(jù)庫(kù)顧問(wèn)程序以獲得數(shù)據(jù)庫(kù)顧問(wèn)程序推薦;以及推薦數(shù)據(jù)庫(kù)生成單元,用于將所述數(shù)據(jù)庫(kù)顧問(wèn)程序推薦應(yīng)用于所述數(shù)據(jù)庫(kù),以生成推薦數(shù)據(jù)庫(kù)。13.根據(jù)權(quán)利要求11或12所述的裝置,其中,所述分析模塊包括平均值計(jì)算單元,用于對(duì)于所述每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的所述測(cè)量結(jié)果的平均值;極差計(jì)算單元,用于計(jì)算所述平均值中最大的平均值與最小的平均值之間的差,作為該配置參數(shù)的極差;以及第一排序單元,用于根據(jù)所計(jì)算的各個(gè)配置參數(shù)的極差,對(duì)所述配置參數(shù)進(jìn)行排序,其中,所述極差最大的配置參數(shù)被確定為對(duì)所述數(shù)據(jù)庫(kù)的影響最大。14.根據(jù)權(quán)利要求11或12所述的裝置,其中,所述分析模塊包括總和計(jì)算單元,用于對(duì)于所述每一個(gè)配置參數(shù),計(jì)算該配置參數(shù)的每一個(gè)水平所對(duì)應(yīng)的所述測(cè)量結(jié)果的總和;偏差平方和計(jì)算單元,用于根據(jù)下述公式,計(jì)算該配置參數(shù)的偏差平方和<formula>formulaseeoriginaldocumentpage4</formula>其中,&表示第i個(gè)配置參數(shù),Vi表示配置參數(shù)&的水平的個(gè)數(shù),Yf'表示配置參數(shù)&的水平j(luò)所對(duì)應(yīng)的所述測(cè)量結(jié)果的和,lf表示包含配置參數(shù)Ci的水平j(luò)的測(cè)試實(shí)驗(yàn)的個(gè)數(shù),N表示測(cè)試實(shí)驗(yàn)的總個(gè)數(shù),Sc,表示配置參數(shù)&的偏差平方和;方差計(jì)算單元,用于根據(jù)下述公式,計(jì)算該配置參數(shù)的方差<formula>formulaseeoriginaldocumentpage4</formula>以及第二排序單元,用于根據(jù)所計(jì)算的各個(gè)配置參數(shù)的方差,對(duì)所述配置參數(shù)進(jìn)行排序,其中,所述方差最大的配置參數(shù)被確定為對(duì)所述數(shù)據(jù)庫(kù)的影響最大。15.根據(jù)權(quán)利要求10至14任意一項(xiàng)所述的裝置,其中,所述測(cè)量結(jié)果是通過(guò)測(cè)量所述推薦數(shù)據(jù)庫(kù)的性能而得到的性能數(shù)據(jù)。16.根據(jù)權(quán)利要求10至14任意一項(xiàng)所述的裝置,其中,所述性能測(cè)量裝置還測(cè)量所述數(shù)據(jù)庫(kù)的初始性能,并將所測(cè)的性能數(shù)據(jù)作為所述數(shù)據(jù)庫(kù)的基線數(shù)據(jù)。17.根據(jù)權(quán)利要求16所述的裝置,其中,所述測(cè)量結(jié)果是通過(guò)測(cè)量所述推薦數(shù)據(jù)庫(kù)的性能而得到的性能數(shù)據(jù)與所述基線數(shù)據(jù)的差。18.根據(jù)權(quán)利要求15至17任意一項(xiàng)所述的裝置,其中,所述數(shù)據(jù)庫(kù)的性能數(shù)據(jù)是整個(gè)查詢(xún)工作負(fù)載的總消耗時(shí)間、整個(gè)查詢(xún)工作負(fù)載的總CPU時(shí)間、每個(gè)查詢(xún)的消耗時(shí)間和每個(gè)查詢(xún)的CPU時(shí)間中的任意一個(gè)或多個(gè)。全文摘要本發(fā)明提供一種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的方法,其包括使用DOE實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)所述數(shù)據(jù)庫(kù)顧問(wèn)程序的多個(gè)測(cè)試實(shí)驗(yàn),其中,每一個(gè)所述測(cè)試實(shí)驗(yàn)對(duì)應(yīng)所述配置參數(shù)的一組取值;執(zhí)行所述多個(gè)測(cè)試實(shí)驗(yàn)的每一個(gè),以生成相應(yīng)的推薦數(shù)據(jù)庫(kù);測(cè)量每一個(gè)所述推薦數(shù)據(jù)庫(kù)的性能,以獲得該推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果;以及分析所有所述推薦數(shù)據(jù)庫(kù)的測(cè)量結(jié)果,以確定對(duì)所述數(shù)據(jù)庫(kù)的影響大的配置參數(shù)。本發(fā)明的方法能夠自動(dòng)地評(píng)估數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù),同時(shí)提供配置參數(shù)的優(yōu)化建議,極大方便了配置參數(shù)的缺省值/初始值的適當(dāng)設(shè)置。本發(fā)明還提供了一種優(yōu)化數(shù)據(jù)庫(kù)顧問(wèn)程序的配置參數(shù)的裝置。文檔編號(hào)G06F17/30GK101727455SQ200810174919公開(kāi)日2010年6月9日申請(qǐng)日期2008年10月24日優(yōu)先權(quán)日2008年10月24日發(fā)明者劉長(zhǎng)浩,徐康,武碩申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司