?

SQL Server數據庫應用系統的性能優化

2018-05-10 05:10趙凱甄雷劉宇
電子技術與軟件工程 2018年24期
關鍵詞:應用系統性能優化

趙凱 甄雷 劉宇

摘要

SQL Server數據庫在現實使用中,常常會出現數據量太大的狀況,若不能及時采取措施,就會降低系統的穩定性,出現阻塞、長時間等待、連接超時等問題。為此,本文從SQL Server數據庫內容概述及其必要性入手,對其性能優化展開探究。

【關鍵詞】SQL Server數據庫 性能優化 應用系統

增強SQL Server數據庫應用系統性能優化,能夠較好的提高系統的應用效果,減少在使用過程中出現的各種堵塞、連接超時等問題,從而使系統處于高效、穩定的運行中,滿足相關的信息管理系統多樣性需求。所以,在使用SQL Server數據庫應用系統處理現實問題中,要從多個方面著手,尋找到有效的方式,從而對系統進行長期、有效的維護優化,為增強系統運行服務能力提供有力的保障。

1 SQL Server數據庫內容概述及其必要性

1.1 SQL Server數據庫內容

SQL是結構化查詢語言的縮寫,它是專門為了數據庫而建立的操作命令集,是一種功能多樣的數據庫語言。SQL功能強大、方便易學,已經是數據庫操作的基礎,同時,現在全部的數據庫大多都支持SQL。

1.2 SQL Server數據庫應用系統性能優化的必要性

因為SQL Server數據庫在信息管理中十分重要,在實踐過程中一定要確保其運行良好,并通過性能優化,提升系統的響應速度,增強數據庫應用系統的運行效率。數據庫應用系統在長期的使用后進行科學的優化,能夠減少系統出現故障的幾率,并提升其穩定性,從而大大節約開發設計成本。以上方面的不同內容,客觀的展現出了SQL Server數據庫應用系統性能優化的重要性。所以,在使用SQL Server數據庫應用系統時,要從多個方向展開考慮,并在科學合理的優化行為下,實現對性能的優化。

2 SQL Server數據庫應用系統性能優化的方式

2.1 SQL語句的優化

SQL語句是唯一一種可以對數據庫進行操作的方式,應用程序的執行最終還是對SQL語句的執行,可以說SQL語句的效率決定了數據庫系統的性能。好的查詢方式常常能夠讓程序性能提升數十倍。DBMS是如下進行查詢計劃的:首先進行語句的詞法、語法檢查,然后把語句傳輸給DBMS的查詢優化器,優化器進行存取路徑優化與代數優化后,由預編譯模塊處理語句并生成查詢規劃,之后在某一時間傳遞給系統處理執行,并返回執行結果?,F在使用的大多數數據庫產品例如Sybase、Oracle等多是使用基于代價的優化方式,該方式能夠按照從系統字典表中獲取的數據來估計各個查詢規則的代價,并選擇最優方式。目前優化SQL語句的方式大概有以下幾種:

(1)防止檢索表中的全部字段。在原有的代碼中有select* from t_ks order by ksbms.jdese這樣的語句,該語句在執行時每次都會對表中全部字段展開掃描,從而增加了檢索的時間,實際上應該盡量避免select*的存在,使用所需的列代替*,避免多余的列。例如可以把語句改為select name,xb,zydm from t_ksorder by ks_bmsjdeSC。

(2)避免在WHERE條件中使用非聚合表達式。由于非聚合表達式不容易使用到索引,往往造成SQL Server進行大規模的掃描。例如!=、ISNULL或ISNOTNULL、IN、NOTIN等操作符組成的表達式都是非聚合表達式,該表達式會極大的降低查詢效率。

(3)常用操作符的優化。is null或is notnull操作符,判斷字段是否為空一般是不會應用索引的,因為索引不索引空值。也就是說如果某列存在空值,即使對該列建索引也不會提高性能??梢圆捎闷渌嗤δ艿牟僮鬟\算代替,如:a is not null改為a>0或a>”。優化group by語句,可以將不需要的記錄在之前過濾掉。

2.2使用存儲過程

存儲過程是一組編譯在單個執行計劃中的Transact-SQL語句。該存儲過程可以在所有應用中進行邏輯的一致性實現,它需要執行一個正常運行任務的SQL語句與邏輯能夠一次性被測試、編碼、設計,并被再次使用。需要執行該任務的應用能夠簡單執行該存儲過程,若使用存儲過程,就能夠為應用返回一些值,也就能夠在不更改應用的狀況下改變數據庫存儲過程與布局。只要依舊返回預期的類型與數量的值,則應用代碼就不用再改變。

同時,一個應用把一個任務當作一系列SQL語句執行。第一條語句的輸入為后面的SQL語句提供了數據,且有一個條件表達式決定了SQL語句中的哪些部分將被執行。若把這些SQL語句與條件邏輯結合起來合并在存儲過程中,就可以變成服務器中單獨執行計劃中的內容。應用程序不需要傳輸存儲過程中的全部SQL語句:它們只需要傳輸包含過程名與參數值的EXECUT或CALL語句,從而達到提升系統性能的目的。

2.3調優數據庫服務器

改變SQL Server的配置參數能夠優化數據庫系統,SQL Server調整包含改變它分配資源的方式,一些配置參數和資源的使用并沒有關系,而那些與資源使用有關的參數和系統中的硬件資源關系十分緊密,這種參與依賴于系統中可用硬件資源數量與類型的改變。例如,一個擁有多處理器的系統,使用多個SQLServer線程的效果要遠優于使用單處理器。擁有多個可用內存的系統需要改變SQL Server,從而充分的使用這些附加的內存。還可以通過改變輸入/輸出參數,達到充分使用系統中全部I/O系統類型的目的。

3結語

以上方式的科學使用,能夠較好的實現對SQL Server數據庫應用系統的優化,從而增強其潛在使用價值,讓信息管理系統更加完善,確保SQL Server數據庫應用系統擁有穩定的使用效果。

參考文獻

[1]楊薇,劉陽,基于SQL Server的數據庫應用系統性能的優化[J].電子測試,2013 (09):140-141.

[2]王學慧.基于SQL Server的數據庫應用系統性能優化研究[J].電子科學技術,2015,02 (01):95-99.

猜你喜歡
應用系統性能優化
SQL Server數據庫性能優化的幾點分析
企業云平臺建設研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合