- 相關(guān)推薦
基于SQLServer2000的數(shù)據(jù)庫(kù)性能調(diào)整技術(shù)
摘要:本文對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的各個(gè)部分特別是數(shù)據(jù)庫(kù)服務(wù)器、SQL語(yǔ)句、存儲(chǔ)過(guò)程等的性能調(diào)整作了大量的分析和試驗(yàn),提出了一些具體的性能調(diào)整方法和措施,并取得較好的應(yīng)用效果。關(guān)鍵詞:SQL;數(shù)據(jù)庫(kù);性能優(yōu)化
一、 基于SQLServer2000的數(shù)據(jù)庫(kù)性能調(diào)整
1.系統(tǒng)規(guī)劃
數(shù)據(jù)庫(kù)服務(wù)器是整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的核心,它的性能高低直接影響整個(gè)系統(tǒng)的性能。SQL Server2000數(shù)據(jù)庫(kù)的很多方面都可以被優(yōu)化或調(diào)整,以便給予系統(tǒng)更好的性能,諸如硬件、SQL Server配置、數(shù)據(jù)庫(kù)設(shè)計(jì)、SQL語(yǔ)句、SQL索引、復(fù)制、備份與恢復(fù)及其他。
2.優(yōu)化SQL語(yǔ)句
SQL優(yōu)化的實(shí)質(zhì)就是在結(jié)果正確的條件下,用優(yōu)化器可以識(shí)別的語(yǔ)句,充份利用索引,減少表掃描的I/O次數(shù),盡量避免表搜索的發(fā)生。實(shí)在SQL的性能優(yōu)化是一個(gè)復(fù)雜的過(guò)程,上述這些只是在應(yīng)用層次的一種體現(xiàn),深進(jìn)研究還會(huì)涉及數(shù)據(jù)庫(kù)層的資源配置、網(wǎng)絡(luò)層的流量控制以及操縱系統(tǒng)層的總體設(shè)計(jì)。在這里就不展開(kāi)了,在第五章將有專題討論。
3.存儲(chǔ)過(guò)程調(diào)整
SQL Server存儲(chǔ)過(guò)程是用Transact-SQL語(yǔ)句PROCEDURE創(chuàng)建的,并可用ALTER PROCEDURE語(yǔ)句進(jìn)行修改。存儲(chǔ)過(guò)程定義包含兩個(gè)主要組成部分:過(guò)程名稱及其參數(shù)的說(shuō)明,以及過(guò)程的主體所有設(shè)計(jì)優(yōu)良的Microsoft SQL ServerTM 2000應(yīng)用程序都應(yīng)當(dāng)使用存儲(chǔ)過(guò)程。不論是否將應(yīng)用程序的業(yè)務(wù)邏輯寫進(jìn)存儲(chǔ)過(guò)程都應(yīng)如此。
4.高性能備份與恢復(fù)
需要確定數(shù)據(jù)的可用性要求,以便選擇適當(dāng)?shù)膫浞莺瓦原策略?傮w備份策略定義備份的類型和頻率以及所需的硬件特性和速度。測(cè)試備份和恢復(fù)過(guò)程。測(cè)試有助于確保擁有從各種故障中恢復(fù)所需的備份,并且認(rèn)真正的故障發(fā)生時(shí)可以快速平穩(wěn)地執(zhí)行恢復(fù)過(guò)程。
5.用戶治理
工程設(shè)計(jì)企業(yè)傳統(tǒng)的組織結(jié)構(gòu)按專業(yè)及職責(zé)設(shè)置,是面向部分的層次治理結(jié)構(gòu)。這種組織結(jié)構(gòu)治理層次多,各個(gè)機(jī)構(gòu)間協(xié)調(diào)復(fù)雜,造成了信息交流和傳遞困難,設(shè)計(jì)周期長(zhǎng)等題目。
二、優(yōu)化SQL語(yǔ)句和存儲(chǔ)過(guò)程
數(shù)據(jù)庫(kù)調(diào)整中一個(gè)很重要的方面就是應(yīng)用程序的調(diào)整,關(guān)鍵在于SQL語(yǔ)句的優(yōu)化和存儲(chǔ)過(guò)程的應(yīng)用。本章結(jié)合具體的項(xiàng)目實(shí)踐,討論了一些關(guān)于SQL語(yǔ)句的優(yōu)化和存儲(chǔ)過(guò)程的應(yīng)用的方法和措施。
1.優(yōu)化SQL語(yǔ)句
SQL優(yōu)化的實(shí)質(zhì)就是在結(jié)果正確的條件下,用優(yōu)化器可以識(shí)別的語(yǔ)句,充份利用索引,減少表掃描的次數(shù),盡量避免表搜索的發(fā)生。實(shí)在SQL的性能優(yōu)化是一個(gè)復(fù)雜的過(guò)程,上述這些只是在應(yīng)用層次的一種體現(xiàn),深進(jìn)研究還會(huì)涉及數(shù)據(jù)庫(kù)層的資源配置、網(wǎng)絡(luò)層的流量控制以及操縱系統(tǒng)層的總體設(shè)計(jì)。
2.存儲(chǔ)過(guò)程
存儲(chǔ)過(guò)程(Stored Procedure)是一組編譯在單個(gè)執(zhí)行計(jì)劃中的Transact一SQL語(yǔ)句。Microsoft SQLServerTM2000的存儲(chǔ)過(guò)程可以通過(guò)輸進(jìn)參數(shù)接受輸進(jìn),并能夠以下面四種方式之一返回?cái)?shù)據(jù):輸出參數(shù),既可以返回?cái)?shù)據(jù)(整型值或字符值等),也可以返回游標(biāo)變量(游標(biāo)是可以逐行檢索的結(jié)果集);假如返回代碼,始終是整型值;SE比CT語(yǔ)句的結(jié)果集,這些語(yǔ)句包含在該存儲(chǔ)過(guò)程內(nèi)或該存儲(chǔ)過(guò)程所調(diào)用的任何其它存儲(chǔ)過(guò)程內(nèi);可從存儲(chǔ)過(guò)程外引用的全局游標(biāo)。 3.B/S模式下的備份與恢復(fù)
B/S模式下的備份與恢復(fù)的實(shí)現(xiàn)步驟:
(1)編寫存儲(chǔ)過(guò)程
存儲(chǔ)過(guò)程的編寫需要遵循SQL語(yǔ)言語(yǔ)法,在SQLServer企業(yè)治理器中打開(kāi)master數(shù)據(jù)庫(kù),打開(kāi)存儲(chǔ)過(guò)程,右鍵新建存儲(chǔ)過(guò)程,會(huì)出現(xiàn)存儲(chǔ)過(guò)程屬性的SQL編輯器,然后按語(yǔ)法直接編寫。下面顯示文件備份的編寫過(guò)程。
。2)JSP語(yǔ)句調(diào)用存儲(chǔ)過(guò)程
為清楚說(shuō)明JSP語(yǔ)句調(diào)用存儲(chǔ)過(guò)程的實(shí)現(xiàn)過(guò)程,現(xiàn)將JSP語(yǔ)句按功能分解:
—實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接功能
Driver DriverCallablel=(Driver)C1ass.forName(MM_Cmaster_ DRIVER). newInstance();
Connection ConnCallablel =DriverManager. getConnection (MM_Cmaster_ STRING, MM_Cmaster_ USERNAME,MM_Cmaster_PASSWORD);
—實(shí)現(xiàn)調(diào)用存儲(chǔ)過(guò)程功能
CallableStatement Caliablel=ConnCallablel.prepareCall(“{?=call dbo.backup_diffrience(?,?)}”);
—實(shí)現(xiàn)存儲(chǔ)過(guò)程中變量傳遞功能
Object Callablel_data;
Callablel.registerOutParameter(1,Types.LONGVARCHAR);
Callablel.setString(2, Callablel_bname);
Callablel.setString(3, Callablel_dir);
—實(shí)現(xiàn)存儲(chǔ)過(guò)程執(zhí)行和封閉功能
Callablel.execute();
ConnCallablel.close();
三、結(jié)論
文對(duì)基于SQL Server2000的數(shù)據(jù)庫(kù)性能調(diào)整進(jìn)行了較為全面、系統(tǒng)的研究,?纯偨Y(jié)出數(shù)據(jù)庫(kù)性能調(diào)整的一般性原則和方法,并取得了一些成果。
參考文獻(xiàn):
[1]袁鵬飛:SQLServer數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)技術(shù)人民郵電出版社1998. 5.
[2]趙 敏:基于SQL Server性能調(diào)整和測(cè)評(píng)方法計(jì)算機(jī)工程2000.5.
[3]Andrew S. Tanenbaum. Computer Networks. Prentice Hall Inc,1996.
【基于SQLServer2000的數(shù)據(jù)庫(kù)性能調(diào)整技術(shù)】相關(guān)文章:
基于Web的交互式數(shù)據(jù)庫(kù)查詢技術(shù)03-20
基于ASP技術(shù)開(kāi)發(fā)Web數(shù)據(jù)庫(kù)檢索程序03-18
基于PHP的Web數(shù)據(jù)庫(kù)訪問(wèn)03-19
基于數(shù)據(jù)庫(kù)的JPG圖像處理03-18
基于Markov鏈的停-等ARQ性能分析03-07
基于法律與道德調(diào)整對(duì)象的檢視03-01
基于Mschart的數(shù)據(jù)庫(kù)圖表應(yīng)用編程03-18
實(shí)現(xiàn)基于網(wǎng)頁(yè)的數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入03-18
基于Oracle數(shù)據(jù)庫(kù)的邏輯數(shù)據(jù)同步技術(shù)在實(shí)踐中的應(yīng)用研究03-10