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