asp.net最佳化探討系列(2)

來源:互聯網
上載者:User
    上一篇有同學說我說了等於沒說,呵呵,如果您有高見,歡迎您跟帖,不要說那些無意義的“說了等於沒說“之類的話,要知道並不是所有的人都像您那樣強啊!同時這篇會結合一些小例子,特別小的例子,呵呵!
    
資料訪問相關

情境一:新增加記錄
我們在設計增加一條記錄的時候,有時採用主鍵自增,有時在程式中產生,一般是return max(id)+1
那麼,我們就要先擷取id,然後在插入記錄,這是兩次資料庫的訪問了!那在其他更加複雜的情境裡面,我們也這樣增加資料庫之間的訪問次數,就有一定的效能影響了!所以對於類似的或複雜的我們可以用預存程序來代替!
情境二:查詢(說說廢話)實在不想用實體集和返回,您的第二選擇也不該是DataSet,而是DataReader!我想真的在用DataSet特性的也沒多少吧!呵呵!記得使用using(),方便,放心!不是每個人寫的代碼都可以讓人放心的,包括我!
情境三:分頁:老實說像我這樣的菜鳥常看人家寫的代碼,發現很多完整的例子,類似”xxx"管理系統,裡面的資料顯示很多情況都是直接拖個GridView綁定上資料,然後設定個分頁屬性,就ok了,可事實上這樣行的通嗎,撇開大資料量不談,在這個分頁的基礎上還要有ViewState的支援,上次已經說了,它確實是個很強大的東西,用好了會很強,因為asp.net控制項儲存狀態大都依靠它!可是大量在伺服器往返,壞處就很明顯了!所以實現自己的分頁邏輯,最好還是用預存程序,效能是很好的!

緩衝

情境一:頁面層級的緩衝

<%@ Page OutputCache VaryByParams="none" Duration="300" %> 意思很明了,緩衝5分鐘,如果在5分鐘內訪問該頁,都是從緩衝中訪問,和訪問靜態頁面差不多!
情境二:asp.net層級緩衝:對於一些訪問頻度高並且更改率低的資料,我們大可以緩衝起來,從緩衝裡面訪問,從而減少訪問資料庫的次數,降低資料庫壓力!(一般我自己會將緩衝寫成可配置的,然後根據設定檔來決定要不要緩衝,比較靈活,這個是題外話,呵呵)。

ViewState

該有他的一席之地,呵呵,我們也不必那麼狠,直接在web.config將它禁掉,可以在訪問平度高的頁面禁掉,因為確實很吃伺服器,呵呵,那麼在寫背景時候,它的優勢就可以發揮出來了,我們大可以發揮asp.net的”優勢“,拖拖拉拉,然後綁定資料,包括資料的更新修改!因為畢竟後台不想前台那樣要承受高訪問量!而且我們還可以通過一些手段來壓縮它,從而減小其大小,效果是很明顯的!所以可以適當的用!

我一直相信積累可以長知識,所以都是從一些所謂低層級的知識點說起,但是也不是所有人都能好好掌握,所以希望大家能自己知道的技巧分享出來,而不是不削地說”說了等於沒說,首頁缺少管理等”諷刺的話,我想你也不是生來就是高手吧,新手就不能發自己的想法在首頁嗎,而且這是經過自己思考的,起碼我有在想!言語可能不當,如有錯語,請多包涵!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.