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