※ 引述《lobnqii@kkcity.com.tw (lobnqii)》之銘言:
> ...deleted
> 關於Connection Pool的機制,由於敝人沒有正式去測過.Net,所以無法評論其作用
> 的利弊。(有時候,吾人會以為後出的東西比較好用,其實,就以VB.Net而言,果真
> 比VB6好用嗎?)
http://www.tenlong.com.tw/BookSearch/Search.php?isbn=9574666735&sid=13754
或許貴兄使用過..或者是唸過書後再來評斷ADO.Net的connection pool機制
及MSDN為啥要使用"開開關關"再下結論
> 但關於開一個連線資料庫所佔用的資源有多少一節,以Oracle為例,它是佔4k。
> 一千人同時連線而閒置是佔用4MB。
> 以廣網T1線路為例,不複雜網頁一頁平均大約是30K,同一時間可以有50人存取,若
> 以每人平均60秒會換頁而言,資料庫可以同時容納3000人,這意味至少會佔用12MB。
> 我目前上網的這台電腦是P3 1.0G/512MB RAM,這還是二年前買時的規格而且還不是
> Server,所以,若說開個連線所佔的資源來比較程式撰寫、維護之便利性,我會以便
> 利性為主要選項。
> 若以區網為例,同時會上網的公司,一般大約也不過數百個人罷了!(像宏碁有萬把
> 人同時上網的,那種server的效率自然也會有其容納規格)它所佔用的資源就更少。
> 所以,個人以為佔用SQL Server資源這部份的耗能是不用去考慮,反而是要考慮伺
> 服器的處理效能,畢竟目前的硬碟及RAM是愈來愈大且便宜。
> 而伺服器的效能又分Web Server & SQL Server兩大部份。這裡就只討論SQL Server
> 部份。有1.5百萬筆資料的資料庫,每筆佔1k,猜猜在MS SQL 2000中,以select 掃
> 過就鎖住的模式,以下指令它所佔用的資源有多少?
> sSQL=" select * from billing1 "
> sSQL=sSQL & " where id_client in (select id_client from client1)"
> 若以每個客戶平均消費一百筆而言,且client1 table內符合率達8成,而這個
> 查詢的指令共佔用資源:1.2GB ,而且是他人無法增修billing1的「鎖住模式」
> 關於SQL Server資源之利用,重點不在開連線有多少個,而是所下指令的正確性所
> 佔用的資源才是驚人處。這時候,把連線隨程式一起關掉的確是比較好的策略,不
> 過要先釋放資源後才可以關,不然,資源依然被recordset佔用著。所以重點是出在
> recordset是否有釋放資源,而不在連線是否有關閉之上。
不知貴兄所導入的專案有與DBA合同開發...
又不知DBA們聽到您的觀點後會不會想翻桌...
現在好像程式跑不動都是怪硬體資源不足了?
何不考慮一下改善一下程式的效率
"若說開個連線所佔的資源來比較程式撰寫、維護之便利性,我會以便
利性為主要選項".....
當老闆聽到這句話..不知又有何感想
recordset<--在ADO.Net...已經建議改用DataSet...來節省資源
若不了解DataSet如何運作,也請參考前面那本書...
至於您提到VB與VB.Net到底有沒有進步,小弟是不知
因為小弟不用VB也不用VB.Net...
但是連ADO.Net運作DataSet使用都不了解,來評.Net到底有沒有比較好..
或許是過早了一點
如果要用VB的觀念使用VB.Net..那很明白的說..他不見得比較好
請用.Net觀念去操作VB.Net
--
╭┼ Origin: 幽谷˙反地球聯邦組織 aeug.twbbs.org
┼┘ Author: GP03 從 zanka.idv.tw 發表