Jquery中文網 www.uhadif.co
Jquery中文網 >  腳本編程  >  Asp.net  >  正文 asp.net性能優化方法-數據庫訪問性能優化

asp.net性能優化方法-數據庫訪問性能優化

發布時間:2014-07-20   編輯:www.uhadif.co
asp.net性能優化方法-數據庫訪問性能優化

本節介紹 ASP.NET性能優化方法-數據庫訪問性能優化。

1.數據庫的連接和關閉
   訪問數據庫資源需要創建連接、打開連接和關閉連接幾個操作。這些過程需要多次與數據庫交換信息以通過身份驗證,比較耗費服務器資源。ASP.NET中提供了連接池(Connection Pool)改善打開和關閉數據庫對性能的影響。系統將用戶的數據庫連接放在連接池中,需要時取出,關閉時收回連接,等待下一次的連接請求。
    連接池的大小是有限的,如果在連接池達到最大限度后仍要求創建連接,必然大大影響性能。因此,在建立數據庫連接后只有在真正需要操作時才打開連接,使用完畢后馬上關閉,從而盡量減少數據庫連接打開的時間,避免出現超出連接限制的情況。

2. 使用存儲過程
 存儲過程是存儲在服務器上的一組預編譯的SQL語句,類似于DOS系統中的批處理文件。存儲過程具有對數據庫立即訪問的功能,信息處理極為迅速。使用存儲過程可以避免對命令的多次編譯,在執行一次后其執行規劃就駐留在高速緩存中,以后需要時只需直接調用緩存中的二進制代碼即可。
 另外,存儲過程在服務器端運行,獨立于ASP.NET程序,便于修改,最重要的是它可以減少數據庫操作語句在網絡中的傳輸。

3.優化查詢語句
 ASP.NET中ADO連接消耗的資源相當大,SQL語句運行的時間越長,占用系統資源的時間也越長。因此,盡量使用優化過的SQL語句以減少執行時間。比如,不在查詢語句中包含子查詢語句,充分利用索引等。

4. 選擇適合頁面或應用程序的數據查看機制
 根據您選擇在 Web 窗體頁顯示數據的方式,在便利和性能之間常常存在著重要的權衡。例如,DataGrid Web 服務器控件可能是一種顯示數據的方便快捷的方法,但就性能而言它的開銷常常是最大的。在某些簡單的情況下,您通過生成適當的 HTML 自己呈現數據可能很有效,但是自定義和瀏覽器定向會很快抵銷所獲得的額外功效。Repeater Web 服務器控件是便利和性能的折衷。它高效、可自定義且可編程。

5. 將 SqlDataReader 類用于快速只進數據游標
 SqlDataReader 類提供了一種讀取從 SQL Server 數據庫檢索的只進數據流的方法。如果當創建 ASP.NET 應用程序時出現允許您使用它的情況,則 SqlDataReader 類提供比 DataSet 類更高的性能。情況之所以這樣,是因為 SqlDataReader 使用 SQL Server 的本機網絡數據傳輸格式從數據庫連接直接讀取數據。另外,SqlDataReader 類實現 IEnumerable 接口,該接口也允許您將數據綁定到服務器控件。有關更多信息,請參見 SqlDataReader 類。有關 ASP.NET 如何訪問數據的信息,請參見通過 ASP.NET 訪問數據。

6. 將 SQL Server 存儲過程用于數據訪問
 在 .NET Framework 提供的所有數據訪問方法中,基于 SQL Server 的數據訪問是生成高性能、可縮放 Web 應用程序的推薦選擇。使用托管 SQL Server 提供程序時,可通過使用編譯的存儲過程而不是特殊查詢獲得額外的性能提高。

您可能感興趣的文章:
asp.net性能優化方法-數據庫訪問性能優化
asp.net性能優化方法-緩存數據和頁輸出
asp.net性能優化方法-禁用調試模式
asp.net生能優化方法-會話狀態的靈活應用
asp.net性能優化方法-垃圾回收回與自動內存管理的使用
asp.net性能優化方法-借助組件的性能優化
asp.net性能成化方法-線程優化
asp.net性能優化方法-啟用應用程序池
asp.net性能優化方法-字符串操作性能優化
asp.net性能優化方法-執行預批編譯

[關閉]
北京pk赛车历史 云南11选五5中奖规则 湖北11选5走势图表前三直 为什么要投资股票 天津时时彩到几点 揭秘幸运飞艇 中国体育彩票开奖号码 广东快乐十分选二计划 广东快中彩中奖规则 11远5北京开奖走势图 河北快3下载 江苏十一选五中奖对照表 广东36选7今晚开奖结果 山东体彩11选5 秒速时时彩技巧玩法 北京快3开奖查询结果 彩票亚洲彩票的网址