[ASP.net]未解的疑惑!

來源:互聯網
上載者:User

這裡討論的是三(多)層結構中的資料底層!

一般而言,大家在寫程式的時候都會把代碼寫成一個一個的類或函數。同樣,寫資料庫的操作類也是如此。這就出現問題了!

資料庫連結類中,執行個體一個類或調用一個方法,Connection的Open()就開啟或是重新執行個體一次。有時對於一個頁面來說,只要Open()一次就可以的了,而在代碼中卻Open()了多次。這樣不就浪費了資源了?

舉個例子:

一個有DataGrid或DataList的頁面中,大家都會把DataGrid或DataList的.DataSource、.DataBind()寫成一個函數對吧。而這個.DataSource一定會調用一個類方法來讀取資料。而調用這個方法定要執行個體一個類,即Connection要Open()一次。這問題就來了。

假如說我們的頁面中先要更新一次資料(Insert),再讀一次資料庫顯示資料(Select)。那麼這樣Connection就Open()和Close()了兩次或更多了。

當然,我們可以把Open()和Close()寫成公有函數,再在外部來操作。但這樣又增加了代碼的煩鎖了。

不知道大家有沒有這樣的問題。個人看過幾個別人寫的三層結構中的底層都是這樣!一個方法就Open()和Close()一次。如果一個頁面要調用幾個方法,那麼Open()就好幾次了。這不很浪費資源了?

具官方MS的說法:開啟到資料庫的聯結要儘可能的快速關閉

但是如果僅僅是一個頁面的幾個SQL操作就要Open()和Close()幾次,這相比較之下,難道會比Open()和Close()一次來得要快?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.