最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫連接操作

 更新時(shí)間:2012年05月02日 23:26:49   作者:  
最近做一個(gè)項(xiàng)目,做的比較郁悶,現(xiàn)在把項(xiàng)目經(jīng)驗(yàn)總結(jié)在這里。項(xiàng)目的主要功能就是為第三方程序提供數(shù)據(jù),并根據(jù)客戶端的調(diào)用提供數(shù)據(jù)更新。我的程序?qū)儆诜?wù)端。服務(wù)端以站點(diǎn)形式部署,以Xml的數(shù)據(jù)格式輸出
項(xiàng)目以我自己的設(shè)計(jì)編碼完成,并整合測試。初始化數(shù)據(jù)時(shí),問題出現(xiàn)了。剛開始體現(xiàn)在客戶端接受數(shù)據(jù)很慢。測試環(huán)境環(huán)境下,數(shù)據(jù)庫服務(wù)器部署在國外,網(wǎng)站部署在公司內(nèi)部,而且我一直認(rèn)為我的程序在數(shù)據(jù)庫數(shù)據(jù)處理這里已經(jīng)做了足夠的優(yōu)化,包括索引和主鍵已經(jīng)做到了合理使用。綜上所述,起初的速度問題一直沒有引起我的關(guān)注。

然而最后問題的關(guān)鍵恰恰出在數(shù)據(jù)庫連接查詢方面,頻繁查詢導(dǎo)致數(shù)據(jù)初始化速度很慢。剛開始我采取的方法是即用即查:需要數(shù)據(jù)的時(shí)候就從數(shù)據(jù)庫查,有比較多的單表查詢返回單個(gè)字段的情況。假如我有大概3000條左右的數(shù)據(jù)集合,我循環(huán)取出其中的每一條,再從其它數(shù)據(jù)表里查詢得到需要的字段,這樣無故增加了3000多次數(shù)據(jù)庫連接和關(guān)閉操作,當(dāng)網(wǎng)絡(luò)速度不理想時(shí),程序速度就無法忍耐了。

堅(jiān)持一條原則:盡量減少數(shù)據(jù)庫連接操作。跟前端開發(fā)優(yōu)化中的盡量少Http請求類似。

最終我采取的方案是將所需要的數(shù)據(jù)經(jīng)過多個(gè)數(shù)據(jù)表統(tǒng)一放到一個(gè)List對象中,也就是放到內(nèi)存中,在根據(jù)LINQ查詢其中的每條數(shù)據(jù),這樣速度會(huì)快很多。這樣似乎破壞力一個(gè)原則,之前我遵循的多表查詢最好不要inner join3個(gè)以上的表,而這次出現(xiàn)了多次一個(gè)sql語句就inner join3個(gè)表以上的情況.雖然破壞了這個(gè)原則,但是相比速度極慢,連功能都實(shí)現(xiàn)不了的情況,顯然inner join 也可以讓人接受。

相關(guān)文章

  • ASP.NET?Core中創(chuàng)建中間件的方式匯總

    ASP.NET?Core中創(chuàng)建中間件的方式匯總

    ASP.NET?Core中間件(Middleware)是用于處理HTTP請求和響應(yīng)的組件,它們被安排在請求處理管道中,并按順序執(zhí)行,這篇文章主要介紹了ASP.NET?Core中創(chuàng)建中間件的幾種方式,需要的朋友可以參考下
    2024-07-07
  • 在.NET Core類庫中使用EF Core遷移數(shù)據(jù)庫到SQL Server的方法

    在.NET Core類庫中使用EF Core遷移數(shù)據(jù)庫到SQL Server的方法

    下面小編就為大家分享一篇在.NET Core類庫中使用EF Core遷移數(shù)據(jù)庫到SQL Server的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之查看文件夾實(shí)現(xiàn)代碼

    ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之查看文件夾實(shí)現(xiàn)代碼

    下面要介紹的實(shí)例包括網(wǎng)上硬盤的許多功能,將一步步為大家進(jìn)行介紹。首先創(chuàng)建工程實(shí)例,然后進(jìn)行主界面的設(shè)計(jì),最后對各個(gè)功能的實(shí)現(xiàn)分別進(jìn)行介紹
    2012-10-10
  • asp.NET 臟字過濾算法 修改版

    asp.NET 臟字過濾算法 修改版

    我們網(wǎng)站的臟字字典中大概有600多個(gè)詞,而且會(huì)發(fā)生變化,因此簡單的在數(shù)據(jù)新增/修改的時(shí)候做一次臟字過濾是不夠的。在網(wǎng)站從.NET 1.1到2.0改版的時(shí)候,對新版的測試發(fā)現(xiàn)舊的臟字過濾算法耗費(fèi)的時(shí)間過長,需要做一些優(yōu)化。
    2009-10-10
  • asp.net(C#)壓縮圖片,可以指定圖片模板高寬

    asp.net(C#)壓縮圖片,可以指定圖片模板高寬

    今天要在web程序處理圖片,指定圖片的高寬大小。google了一把資料。覺得此方法挺不錯(cuò)的,大家可以借鑒一下,如果小弟寫的有不對的地方請大家指點(diǎn)一下:以下代碼在winform寫的,在web下測試可以使用。
    2010-03-03
  • asp.net通過HttpModule自動(dòng)在Url地址上添加參數(shù)

    asp.net通過HttpModule自動(dòng)在Url地址上添加參數(shù)

    由于項(xiàng)目中有許多頁面需要用到cid參數(shù),所以想通過傳值cid來獲取數(shù)據(jù)。
    2010-01-01
  • Gridview的鏈接和刪除點(diǎn)擊提示的問題探討

    Gridview的鏈接和刪除點(diǎn)擊提示的問題探討

    Gridview的鏈接和刪除點(diǎn)擊提示有利于提醒用戶確認(rèn)下操作是否正確,以免造成不必要的損失,感興趣的朋友可以參考下,希望對你有所幫助
    2013-04-04
  • EF?Core基礎(chǔ)入門教程

    EF?Core基礎(chǔ)入門教程

    這篇文章介紹了EF?Core的基礎(chǔ)入門教程,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • asp.net跳轉(zhuǎn)頁面的三種方法比較

    asp.net跳轉(zhuǎn)頁面的三種方法比較

    asp.net下的三種轉(zhuǎn)向頁面的方法小結(jié),給使用頁面轉(zhuǎn)向的朋友一個(gè)參考
    2008-06-06
  • 在Linux上使用OpenCvSharp的過程詳解

    在Linux上使用OpenCvSharp的過程詳解

    在本次項(xiàng)目中,我們成功實(shí)現(xiàn)了在Linux上使用OpenCvSharp,并成功配置了OpenCvSharp依賴庫,實(shí)現(xiàn)了在.NET 6.0環(huán)境下使用C#語言調(diào)用OpenCvSharp庫,實(shí)現(xiàn)的圖片數(shù)據(jù)的讀取以及圖像色彩轉(zhuǎn)換,并進(jìn)行了圖像展示,感興趣的朋友跟隨小編一起看看吧
    2024-02-02

最新評論

河西区| 张掖市| 荥阳市| 云林县| 闽清县| 通山县| 涪陵区| 河津市| 醴陵市| 方正县| 铜山县| 自治县| 夏河县| 岢岚县| 潜山县| 仁化县| 襄汾县| 磴口县| 商城县| 肃宁县| 博兴县| 通许县| 冕宁县| 徐州市| 金昌市| 元氏县| 临安市| 怀安县| 沅陵县| 仲巴县| 盐边县| 托克逊县| 萍乡市| 中阳县| 拉萨市| 沈丘县| 贡觉县| 屏南县| 锡林郭勒盟| 湘潭县| 鹿邑县|