現(xiàn)在的網(wǎng)站已經(jīng)完全淘汰以前的純靜態(tài)網(wǎng)站,基本都有一個完善的后臺管理系統(tǒng),網(wǎng)站數(shù)據(jù)基本都存儲在數(shù)據(jù)庫里,常見的數(shù)據(jù)庫有mssql\mysql\access\oracle等,經(jīng)過方維網(wǎng)絡(luò)程序部幾年經(jīng)驗發(fā)現(xiàn),網(wǎng)站速度的瓶頸關(guān)鍵在于網(wǎng)站和數(shù)據(jù)庫的連接,那么如果實現(xiàn)數(shù)據(jù)庫查詢才能達(dá)到最佳效果呢?
方維網(wǎng)絡(luò)總結(jié)了如下幾條原則:
1、用多少數(shù)據(jù)就取多少的原則
1)除非真的需要讀取全部,不然絕對不要用select *,需要讀哪些字段就讀哪些字段,別偷懶,因為讀多少,數(shù)據(jù)庫就要傳輸多少給網(wǎng)站,但是寬帶是有限的.
2)大數(shù)據(jù)分頁不要獲取所有數(shù)據(jù)再分頁,這種情況對于NET新手非常常見,主要是MSSQL\ACCESS數(shù)據(jù)庫分頁沒有MYSQL等那么方便.
2、減少連表查詢
連表查詢的速度是最慢的,但是卻經(jīng)常要用的,如何解決這個問題呢,可以先查詢關(guān)聯(lián)表ID的數(shù)據(jù),然后再單表查詢,或者先把主查詢表數(shù)據(jù)查詢出來,然后再讀取連表數(shù)據(jù),當(dāng)數(shù)據(jù)量比較大是,效果越明顯。
3、給數(shù)據(jù)庫經(jīng)常查詢的表加索引
1、每個表盡量加一個INT型的自增主鍵,然后加索引;
2、經(jīng)常查詢的列加索引;
4、優(yōu)化數(shù)據(jù)庫結(jié)構(gòu),減少不必要的查詢
數(shù)據(jù)庫結(jié)構(gòu)非常重要,如何優(yōu)化需要看具體情況,這里我就不一一說明了
5、經(jīng)常使用不經(jīng)常更新的數(shù)據(jù)緩存起來
如一些基表等沒必要每次讀取都查詢數(shù)據(jù)庫,完全可以緩存起來
優(yōu)化數(shù)據(jù)庫查詢對于提高網(wǎng)站打開速度、減輕服務(wù)器壓力非常重要,是網(wǎng)站程序員的一門必修課。
方維網(wǎng)站建設(shè)專注于打造最完善的網(wǎng)站定制系統(tǒng),歡迎廣大客戶咨詢400-800-9385
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://m.oulysa.com/news/2198.html