成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server應用程序性能調優之設計優化

運維 服務器運維
如果你為應用程序使用了多層設計,SQL Server只是一個大型應用程序的一部分。多層設計的實現方式對應用程序性能影響之大,或許會遠遠超乎你的想象,它比SQL Server所帶來的影響大的多。

優化你的應用程序設計

  如果你為應用程序使用了多層設計,SQL Server只是一個大型應用程序的一部分。多層設計的實現方式對應用程序性能影響之大,或許會遠遠超乎你的想象,它比SQL Server所帶來的影響大的多。

 不幸的是,在應用程序性能低下時,人們往往將其原因歸咎于SQL Server,而沒有反思應用程序的設計,實際上很多情況下設計缺陷才是導致應用程序性能問題的主要原因。下面我提供一些可以幫助你進行應用設計的建議,以防止SQL Server繼續獨擔性能低下的罪名。

  在設計多層應用時你首先需要決定的是,選擇邏輯和物理設計。在這兩種設計中,物理設計中最易發生導致性能問題的錯誤,原因是在這個設計中要完成理論在真實世界中的實現。和任何其它事情一樣,你面臨著多種選擇,其中很多選擇會帶來升級或性能問題。

  為了確定哪一種選擇才是正確的,需要你再次借助于測試手段,在設計階段就開始早期潛在測試,你可以使用快速原型測試法,來判斷哪一種實現可以最好的滿足用戶的需要。

  另外,當你在設計物理實現時,盡量遵循以下建議,來確保應用程序的可升級性和最優化性能:

  盡可能將以數據為中心的任務以存儲過程的形式在SQL Server上完成。避免在展現層和業務層處理數據。

  不要在業務層保存修改狀態數據,盡可能的在數據庫中實現。

  不要創建復雜或難懂的對象分級。復雜類的創建和使用通常會比較耗資源,會降低應用程序的性能和擴展性。原因是當創建和釋放這些對象時,內存分配操作的開銷通常比較大。在進行應用程序設計時,可以考慮使用微軟事務處理服務器(MTS)來充分利用數據庫連接池和對象池的優勢。MTS可以運行將數據庫連接和對象都放到pool中,可以大大提高應用程序的整體性能和可擴展性。

  如果你的應用程序針對SQL Server的查詢耗時較長,在設計應用程序時可以考慮異步進行查詢。這樣一個查詢不用必須等待前面一條執行完后才能進行。將這個功能加入到你的多層應用軟件的一個辦法是使用微軟消息隊列服務器(MSMQ)。

  雖然按照以上建議并不能確保你獲得一個可升級、快速執行的應用程序,卻可以說是一個好的開始。

  優化數據庫的設計

  與應用程序設計類似,數據庫設計對SQL Server應用程序的可升級性和性能也非常關鍵。同樣與應用程序設計類似,如果你在開始的時候沒有合理的進行數據庫設計,當應用程序被投入到生產環境中后,再對其進行修改往往非常困難,且代價較高。在設計SQL Server數據庫時,以下幾件事情對其升級和性能非常關鍵,需要牢記。

  同樣的道理,你需要盡可能早的使用真實數據來測試你的設計。這意味著你需要開發具有示例數據的原型數據庫,然后使用預計會在真實應用中發生的行為類型來對該設計進行測試。

  一開始就需要你確定的設計原則之一是,數據庫將被使用來進行聯機事務處理(OLTP),還是在線分析處理(OLAP)。在設計數據庫時人們常犯的一個最大錯誤是,試圖設計數據庫同時滿足OLTP和OLAP需要。如果你希望獲得高性能和可擴展性,這兩種應用程序類型是互相排斥的。

  OLTP數據庫通常是高度規格化的,有助于降低必須存儲的數據量。存儲的數據越少,SQL Server執行的I/O操作就越少,數據庫訪問就會越快。事務處理也盡可能在短時間內完成,以減少鎖定沖突現象。最后一點,為降低大量插入、更新和刪除操作的開銷,要盡可能少的使用索引。

  另一方面,OLAP數據庫則是高度反規格化的。另外,它不使用事務處理,因為數據庫是只讀的記錄鎖定不是什么問題。當然,為了滿足廣泛的報表需求,需要大量使用索引。

  由此可見,OLTP和OLAP數據庫實現的目的完全不同,你不可能設計一個數據庫同時滿足這兩種需求。

  在數據庫設計早期階段發現問題后,修改起來相對比較容易,因此不要等到應用程序開發完成后,再去修改數據庫設計,這幾乎是不可能的。

【編輯推薦】

  1. 微軟將推出兩款捆綁式服務器軟件 中小型企業即插即用
  2. 用端口碰撞技術實現服務器遠程管理
  3. Windows Home Server軟件錯誤 致存儲文檔毀損
責任編輯:符甲 來源: IT168
相關推薦

2009-01-08 19:14:37

服務器應用程序SQL Server

2009-01-08 19:06:13

服務器應用程序SQL Server

2010-07-28 09:25:41

jQueryJavaScript性

2010-11-15 16:20:33

Oracle系統優化

2023-03-03 08:14:33

JavaJDK調優

2019-10-17 10:10:23

優化Web前端

2010-02-04 09:41:03

Android應用程序

2020-12-03 08:00:00

SQL數據庫MySQL

2009-07-01 18:24:59

JSP應用程序JMeter

2011-09-02 14:05:25

SQL Server性能調優

2009-07-29 11:33:14

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

2010-08-18 09:42:11

DB2性能調優

2011-08-08 13:35:50

Web應用WANWeb應用程序

2014-12-16 09:35:13

DevOps

2011-09-20 10:41:45

Web

2018-11-20 10:50:00

Java性能優化編程技巧

2010-07-19 13:35:51

SQL Server性

2017-07-21 08:55:13

TomcatJVM容器

2022-07-04 17:32:12

DevOpsAIOps

2011-01-19 11:10:50

程序交付優化應用程序性能管理監控
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩国产在线 | 中文字幕一区二区三区四区五区 | 久久久久久一区 | 欧美1区2区 | 国产精品中文字幕一区二区三区 | av网站在线看 | 在线国产一区二区 | 在线视频国产一区 | www.亚洲精品 | 波波电影院一区二区三区 | 久久久久无码国产精品一区 | 青青久草| 古装三级在线播放 | 最新国产精品精品视频 | 美女日批免费视频 | 自拍 亚洲 欧美 老师 丝袜 | 久久三区 | 黄色网络在线观看 | 欧美一级电影免费观看 | 日韩精品一区二区三区视频播放 | 精品久久一区二区 | 亚洲电影一区二区三区 | 欧美xxxx在线 | 影音先锋中文字幕在线观看 | 黄色av网站免费看 | 亚洲视频一区二区三区 | 精品久久影院 | 成人在线观看免费观看 | 国产精品免费一区二区三区四区 | 亚洲狠狠丁香婷婷综合久久久 | 羞羞视频在线观看 | av黄色免费在线观看 | 秋霞电影一区二区三区 | 欧美成人精品一区二区男人看 | 欧美三区视频 | 午夜免费影视 | 国产精品美女一区二区 | 97人人澡人人爽91综合色 | 四季久久免费一区二区三区四区 | 国产1区2区在线观看 | 九九热精品视频 |