国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

ASP.NET中常用的優(yōu)化性能的方法

2024-07-10 12:40:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1. 數(shù)據(jù)庫(kù)訪問(wèn)性能優(yōu)化 
   數(shù)據(jù)庫(kù)的連接和關(guān)閉 
  訪問(wèn)數(shù)據(jù)庫(kù)資源需要?jiǎng)?chuàng)建連接、打開(kāi)連接和關(guān)閉連接幾個(gè)操作。這些過(guò)程需要多次與數(shù)據(jù)庫(kù)交換信息以通過(guò)身份驗(yàn)證,比較耗費(fèi)服務(wù)器資源。ASP.NET中提供了連接池(Connection Pool)改善打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)對(duì)性能的影響。系統(tǒng)將用戶(hù)的數(shù)據(jù)庫(kù)連接放在連接池中,需要時(shí)取出,關(guān)閉時(shí)收回連接,等待下一次的連接請(qǐng)求。 
  連接池的大小是有限的,如果在連接池達(dá)到最大限度后仍要求創(chuàng)建連接,必然大大影響性能。因此,在建立數(shù)據(jù)庫(kù)連接后只有在真正需要操作時(shí)才打開(kāi)連接,使用完畢后馬上關(guān)閉,從而盡量減少數(shù)據(jù)庫(kù)連接打開(kāi)的時(shí)間,避免出現(xiàn)超出連接限制的情況。 
  使用存儲(chǔ)過(guò)程 
  存儲(chǔ)過(guò)程是存儲(chǔ)在服務(wù)器上的一組預(yù)編譯的SQL語(yǔ)句,類(lèi)似于DOS系統(tǒng)中的批處理文件。存儲(chǔ)過(guò)程具有對(duì)數(shù)據(jù)庫(kù)立即訪問(wèn)的功能,信息處理極為迅速。使用存儲(chǔ)過(guò)程可以避免對(duì)命令的多次編譯,在執(zhí)行一次后其執(zhí)行規(guī)劃就駐留在高速緩存中,以后需要時(shí)只需直接調(diào)用緩存中的二進(jìn)制代碼即可。 
  另外,存儲(chǔ)過(guò)程在服務(wù)器端運(yùn)行,獨(dú)立于ASP.NET程序,便于修改,最重要的是它可以減少數(shù)據(jù)庫(kù)操作語(yǔ)句在網(wǎng)絡(luò)中的傳輸。 
   優(yōu)化查詢(xún)語(yǔ)句 
ASP.NET中ADO連接消耗的資源相當(dāng)大,SQL語(yǔ)句運(yùn)行的時(shí)間越長(zhǎng),占用系統(tǒng)資源的時(shí)間也越長(zhǎng)。因此,盡量使用優(yōu)化過(guò)的SQL語(yǔ)句以減少執(zhí)行時(shí)間。比如,不在查詢(xún)語(yǔ)句中包含子查詢(xún)語(yǔ)句,充分利用索引等。 
2. 字符串操作性能優(yōu)化 
  使用值類(lèi)型的ToString方法 
  在連接字符串時(shí),經(jīng)常使用"+"號(hào)直接將數(shù)字添加到字符串中。這種方法雖然簡(jiǎn)單,也可以得到正確結(jié)果,但是由于涉及到不同的數(shù)據(jù)類(lèi)型,數(shù)字需要通過(guò)裝箱操作轉(zhuǎn)化為引用類(lèi)型才可以添加到字符串中。但是裝箱操作對(duì)性能影響較大,因?yàn)樵谶M(jìn)行這類(lèi)處理時(shí),將在托管堆中分配一個(gè)新的對(duì)象,原有的值復(fù)制到新創(chuàng)建的對(duì)象中。 
  使用值類(lèi)型的ToString方法可以避免裝箱操作,從而提高應(yīng)用程序性能。 
  運(yùn)用StringBuilder類(lèi) 
  String類(lèi)對(duì)象是不可改變的,對(duì)于String對(duì)象的重新賦值在本質(zhì)上是重新創(chuàng)建了一個(gè)String對(duì)象并將新值賦予該對(duì)象,其方法ToString對(duì)性能的提高并非很顯著。 
  在處理字符串時(shí),最好使用StringBuilder類(lèi),其.NET 命名空間是System.Text。該類(lèi)并非創(chuàng)建新的對(duì)象,而是通過(guò)Append,Remove,Insert等方法直接對(duì)字符串進(jìn)行操作,通過(guò)ToString方法返回操作結(jié)果。 
  其定義及操作語(yǔ)句如下所示: 
int num; 
System.Text.StringBuilder str = new System.Text.StringBuilder(); //創(chuàng)建字符串 
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵宝市| 施甸县| 新源县| 冕宁县| 镇巴县| 博乐市| 郁南县| 白银市| 宜都市| 夏河县| 洪洞县| 额尔古纳市| 清镇市| 武汉市| 霍州市| 泸水县| 尚义县| 边坝县| 唐山市| 应城市| 汾阳市| 柘城县| 灵石县| 浮梁县| 上林县| 德格县| 循化| 灵川县| 文山县| 吴忠市| 德令哈市| 大同市| 和平区| 施甸县| 靖江市| 香港 | 阿勒泰市| 沁源县| 安阳县| 梁河县| 贞丰县|