asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 22:42:28
asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作
asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作:項(xiàng)目以我自己的設(shè)計(jì)編碼完成,并整合測(cè)試。初始化數(shù)據(jù)時(shí),問(wèn)題出現(xiàn)了。剛開(kāi)始體現(xiàn)在客戶(hù)端接受數(shù)據(jù)很慢。測(cè)試環(huán)境環(huán)境下,數(shù)據(jù)庫(kù)服務(wù)器部署在國(guó)外,網(wǎng)站部署在公司內(nèi)部,而且我一直認(rèn)為我的程序在數(shù)據(jù)庫(kù)數(shù)據(jù)處理這里已經(jīng)做了足夠的優(yōu)化,包括索引和主鍵已經(jīng)做
導(dǎo)讀asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作:項(xiàng)目以我自己的設(shè)計(jì)編碼完成,并整合測(cè)試。初始化數(shù)據(jù)時(shí),問(wèn)題出現(xiàn)了。剛開(kāi)始體現(xiàn)在客戶(hù)端接受數(shù)據(jù)很慢。測(cè)試環(huán)境環(huán)境下,數(shù)據(jù)庫(kù)服務(wù)器部署在國(guó)外,網(wǎng)站部署在公司內(nèi)部,而且我一直認(rèn)為我的程序在數(shù)據(jù)庫(kù)數(shù)據(jù)處理這里已經(jīng)做了足夠的優(yōu)化,包括索引和主鍵已經(jīng)做
項(xiàng)目以我自己的設(shè)計(jì)編碼完成,并整合測(cè)試。初始化數(shù)據(jù)時(shí),問(wèn)題出現(xiàn)了。剛開(kāi)始體現(xiàn)在客戶(hù)端接受數(shù)據(jù)很慢。測(cè)試環(huán)境環(huán)境下,數(shù)據(jù)庫(kù)服務(wù)器部署在國(guó)外,網(wǎng)站部署在公司內(nèi)部,而且我一直認(rèn)為我的程序在數(shù)據(jù)庫(kù)數(shù)據(jù)處理這里已經(jīng)做了足夠的優(yōu)化,包括索引和主鍵已經(jīng)做到了合理使用。綜上所述,起初的速度問(wèn)題一直沒(méi)有引起我的關(guān)注。
然而最后問(wèn)題的關(guān)鍵恰恰出在數(shù)據(jù)庫(kù)連接查詢(xún)方面,頻繁查詢(xún)導(dǎo)致數(shù)據(jù)初始化速度很慢。剛開(kāi)始我采取的方法是即用即查:需要數(shù)據(jù)的時(shí)候就從數(shù)據(jù)庫(kù)查,有比較多的單表查詢(xún)返回單個(gè)字段的情況。假如我有大概3000條左右的數(shù)據(jù)集合,我循環(huán)取出其中的每一條,再?gòu)钠渌鼣?shù)據(jù)表里查詢(xún)得到需要的字段,這樣無(wú)故增加了3000多次數(shù)據(jù)庫(kù)連接和關(guān)閉操作,當(dāng)網(wǎng)絡(luò)速度不理想時(shí),程序速度就無(wú)法忍耐了。
堅(jiān)持一條原則:盡量減少數(shù)據(jù)庫(kù)連接操作。跟前端開(kāi)發(fā)優(yōu)化中的盡量少Http請(qǐng)求類(lèi)似。
最終我采取的方案是將所需要的數(shù)據(jù)經(jīng)過(guò)多個(gè)數(shù)據(jù)表統(tǒng)一放到一個(gè)List對(duì)象中,也就是放到內(nèi)存中,在根據(jù)LINQ查詢(xún)其中的每條數(shù)據(jù),這樣速度會(huì)快很多。這樣似乎破壞力一個(gè)原則,之前我遵循的多表查詢(xún)最好不要inner join3個(gè)以上的表,而這次出現(xiàn)了多次一個(gè)sql語(yǔ)句就inner join3個(gè)表以上的情況.雖然破壞了這個(gè)原則,但是相比速度極慢,連功能都實(shí)現(xiàn)不了的情況,顯然inner join 也可以讓人接受。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作
asp.net程序優(yōu)化 盡量減少數(shù)據(jù)庫(kù)連接操作:項(xiàng)目以我自己的設(shè)計(jì)編碼完成,并整合測(cè)試。初始化數(shù)據(jù)時(shí),問(wèn)題出現(xiàn)了。剛開(kāi)始體現(xiàn)在客戶(hù)端接受數(shù)據(jù)很慢。測(cè)試環(huán)境環(huán)境下,數(shù)據(jù)庫(kù)服務(wù)器部署在國(guó)外,網(wǎng)站部署在公司內(nèi)部,而且我一直認(rèn)為我的程序在數(shù)據(jù)庫(kù)數(shù)據(jù)處理這里已經(jīng)做了足夠的優(yōu)化,包括索引和主鍵已經(jīng)做