asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作
然而最后問(wèn)題的關(guān)鍵恰恰出在數(shù)據(jù)庫(kù)連接查詢方面,頻繁查詢導(dǎo)致數(shù)據(jù)初始化速度很慢。剛開始我采取的方法是即用即查:需要數(shù)據(jù)的時(shí)候就從數(shù)據(jù)庫(kù)查,有比較多的單表查詢返回單個(gè)字段的情況。假如我有大概3000條左右的數(shù)據(jù)集合,我循環(huán)取出其中的每一條,再?gòu)钠渌鼣?shù)據(jù)表里查詢得到需要的字段,這樣無(wú)故增加了3000多次數(shù)據(jù)庫(kù)連接和關(guān)閉操作,當(dāng)網(wǎng)絡(luò)速度不理想時(shí),程序速度就無(wú)法忍耐了。
堅(jiān)持一條原則:盡量減少數(shù)據(jù)庫(kù)連接操作。跟前端開發(fā)優(yōu)化中的盡量少Http請(qǐng)求類似。
最終我采取的方案是將所需要的數(shù)據(jù)經(jīng)過(guò)多個(gè)數(shù)據(jù)表統(tǒng)一放到一個(gè)List對(duì)象中,也就是放到內(nèi)存中,在根據(jù)LINQ查詢其中的每條數(shù)據(jù),這樣速度會(huì)快很多。這樣似乎破壞力一個(gè)原則,之前我遵循的多表查詢最好不要inner join3個(gè)以上的表,而這次出現(xiàn)了多次一個(gè)sql語(yǔ)句就inner join3個(gè)表以上的情況.雖然破壞了這個(gè)原則,但是相比速度極慢,連功能都實(shí)現(xiàn)不了的情況,顯然inner join 也可以讓人接受。
- 向asp.Net進(jìn)發(fā) 數(shù)據(jù)庫(kù)連接操作
- asp.net Accee數(shù)據(jù)庫(kù)連接不穩(wěn)定解決方案
- ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解
- asp.net 數(shù)據(jù)庫(kù)連接類代碼(SQL)
- asp.net LINQ中數(shù)據(jù)庫(kù)連接字符串的問(wèn)題
- asp.net 數(shù)據(jù)庫(kù)連接池淺析
- ASP.NET web.config中數(shù)據(jù)庫(kù)連接字符串connectionStrings節(jié)的配置方法
- 在ASP.NET 2.0中操作數(shù)據(jù)之六十八:為DataTable添加額外的列
- 在ASP.NET 2.0中操作數(shù)據(jù)之六十九:處理Computed Columns列
- 在ASP.NET 2.0中操作數(shù)據(jù)之七十:配置數(shù)據(jù)庫(kù)連接和命令等級(jí)設(shè)置
相關(guān)文章
C#/.NET讀取或修改文件的創(chuàng)建時(shí)間及修改時(shí)間詳解
這篇文章主要給大家介紹了關(guān)于C#/.NET讀取或修改文件的創(chuàng)建時(shí)間及修改時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08IE和火狐中模仿Click事件及提交到新窗口總結(jié)(asp.net)
在程序中去模擬一個(gè)click事件是可以的,如果這個(gè)click事件是來(lái)自<a>標(biāo)簽的,那如果希望得到單擊按鈕的效果,IE可以,但火狐無(wú)法實(shí)現(xiàn)2012-01-01asp.net?Core中同名服務(wù)注冊(cè)的實(shí)現(xiàn)代碼
Asp.Net?Core中自帶了容器,同時(shí)也可以使用AutoFac替換掉默認(rèn)的容器,以下為兩種方式同名服務(wù)的注冊(cè)實(shí)現(xiàn),對(duì)asp.net?Core服務(wù)注冊(cè)的實(shí)現(xiàn)代碼感興趣的朋友一起看看吧2022-03-03C# 接口的隱式與顯示實(shí)現(xiàn)及適應(yīng)場(chǎng)景
以前在用到接口時(shí),從來(lái)沒(méi)注意到接口分為隱式實(shí)現(xiàn)與顯示實(shí)現(xiàn)。昨天在瀏覽博客時(shí)看到相關(guān)內(nèi)容,現(xiàn)在根據(jù)自己的理解記錄一下,方便日后碰到的時(shí)候溫習(xí)溫習(xí),需要的朋友可以了解下2012-12-12ASP.NETWeb服務(wù)器驗(yàn)證控件如何使用
這篇文章主要介紹了ASP.NETWeb服務(wù)器驗(yàn)證控件如何使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09asp.net關(guān)于onpropertychange和oninput事件實(shí)現(xiàn)代碼
文本框,數(shù)據(jù)列表,當(dāng)在文本框中輸入條件時(shí)需要實(shí)時(shí)刷新數(shù)據(jù)列表,而且需要滿足多瀏覽器(IE6.0/7.0/8.0,FireFox,Opera,google chrome,Safair)其功能類似google的智能匹配,我是用asp.net實(shí)現(xiàn)的。2009-11-11.Net整合Json實(shí)現(xiàn)REST服務(wù)客戶端的方法詳解
這篇文章主要給大家介紹了關(guān)于.Net整合Json實(shí)現(xiàn)REST服務(wù)客戶端的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01asp.net access添加返回自遞增id的實(shí)現(xiàn)方法
今天花了一點(diǎn)時(shí)間研究了這個(gè)問(wèn)題,除此之外,還順帶研究了小孔子cms添加數(shù)據(jù)的過(guò)程,access添加返回自遞增id也是從小孔子cms中研究出來(lái)的。2008-08-08