自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server應用程序性能調優(yōu)之SQL編程

運維 服務器運維
現(xiàn)在,應用程序和數據庫設計應該已經完成,而且都使用快速原型技術進行了性能和可擴展性的測試。現(xiàn)在我們需要為應用程序編寫與SQL Server協(xié)同的代碼。

如何優(yōu)化應用程序的SQL Server編程

  現(xiàn)在,應用程序和數據庫設計應該已經完成,而且都使用快速原型技術進行了性能和可擴展性的測試?,F(xiàn)在我們需要為應用程序編寫與SQL Server協(xié)同的代碼。

如何進行應用程序編程,對性能和可擴展性也有很大影響,就如同數據庫設計和整體應用程序設計對性能的影響一樣。有的時候,選擇一個更適合的簡單編程技巧就可以帶來較大的性能提高。實現(xiàn)一個任務的代碼可能有很多種,不過獲得最優(yōu)性能的往往只有一個。

  如何優(yōu)化你的T-SQL代碼

  和任何編程語言一樣,T-SQL提供了多種方式來實現(xiàn)同一個任務。其中有的方法所實現(xiàn)的性能要高于其它方法。在這一部分中,我將向大家介紹一些編寫高性能T-SQL代碼的訣竅。

  選擇合適的數據類型:數據類型選擇好,可以大大提高SQL Server執(zhí)行SELECT、INSERT、UPDATE和DELETE操作的速度。不過,選擇最優(yōu)的數據類型并不總是一件很簡單的事情。在創(chuàng)建SQL Server物理表的時候,以下建議可以有助于獲得最優(yōu)性能。

  選擇能滿足你需要的最小數據類型。例如,如果某一列需要存儲的是數字1到10,那么該列的數據類型選擇TINYINT會比INT更好。CHAR和VARCHAR的選擇也是遵循同樣的原則。另外,對于字符列的字符數不要設定太大,滿足自己需要就可以,這樣SQL Server能夠在其數據和索引頁面中存儲更多行記錄,降低讀取它們時所需的I/O次數。另外,它將減少從服務器移動到客戶端的數據量,降低網絡流量和延時。

  如果某一列的文本數據在長度上差別很大,使用VARCHAR數據類型來取代CHAR數據類型。盡管VARCHAR數據類型比CHAR數據類型的開銷略微有些大,但是使用VARCHAR數據類型可以大大節(jié)省空間,可以降低I/O,提高整體SQL Server性能。

  除非你需要存儲Unicode數據,不要使用NVARCHAR或NCHAR數據類型。它們所占用的空間是VARCHAR或CHAR的兩倍,可以增加服務器I/O開銷。

  如果你需要存儲較大的字符串數據,而且它們不超過8000字符,那么最好使用VARCHAR數據類型,而不要使用TEXT數據類型。TEXT數據類型開銷較大,會降低性能。

  如果有一列只用來存儲數字,使用數值型數據類型,諸如INTERGER,而不要使用VARCHAR或CHAR數據類型。Numeric數據類型一般會需要較小的空間來存儲數值。這樣有助于降低數據列的大小,而且當列內容被搜索或與其它列聯(lián)合時,可以提高性能。

  謹慎使用觸發(fā)器

  在T-SQL中,觸發(fā)器是一個強大的工具,但是由于它們每次被執(zhí)行的時候,需要對表進行INSERT、UPDATE或DELETE操作,這可能帶來大量開銷。以下是如何優(yōu)化觸發(fā)器性能的一些技巧。

  保持觸發(fā)器中的代碼最精簡以降低開銷。觸發(fā)器中運行的代碼越多,它所進行的每一個INSERT、UPDATE和DELETE就會越慢。

  不過某個任務可以使用更高效的技術實現(xiàn),就不要使用觸發(fā)器。

  盡量不要使用回滾觸發(fā)器,因為其相關開銷太大。與其讓觸發(fā)器發(fā)現(xiàn)問題后對事務處理進行回滾操作,不如在它進入觸發(fā)器之前就捕獲該錯誤。與讓觸發(fā)器回滾相比,在觸發(fā)器啟動之前提前發(fā)現(xiàn)錯誤會消耗更少的服務器資源。

【編輯推薦】

  1. EMC推出混合環(huán)境下服務器管理軟件
  2. EMC推出混合環(huán)境下服務器管理軟件
  3. SaaS、云計算、傳統(tǒng)軟件——一場危險的三角游戲
責任編輯:符甲 來源: IT168
相關推薦

2009-01-08 19:11:39

服務器應用程序SQL Server

2009-01-08 19:06:13

服務器應用程序SQL Server

2010-07-28 09:25:41

jQueryJavaScript性

2011-09-02 14:05:25

SQL Server性能調優(yōu)

2020-12-03 08:00:00

SQL數據庫MySQL

2010-07-19 13:35:51

SQL Server性

2010-08-18 09:42:11

DB2性能調優(yōu)

2011-01-21 08:38:20

2023-03-03 08:14:33

JavaJDK調優(yōu)

2010-02-04 09:41:03

Android應用程序

2009-04-02 10:26:27

2021-11-07 23:49:19

SQL數據庫工具

2009-07-29 11:33:14

ASP.NET技巧ASP.NET應用程序

2009-07-01 18:24:59

JSP應用程序JMeter

2019-10-17 10:10:23

優(yōu)化Web前端

2011-08-08 13:35:50

Web應用WANWeb應用程序

2010-07-21 09:28:34

SQL Server

2010-11-15 16:20:33

Oracle系統(tǒng)優(yōu)化

2014-12-16 09:35:13

DevOps

2011-09-20 10:41:45

Web
點贊
收藏

51CTO技術棧公眾號