我想知道連接數據庫的性能。是否可以關閉每個查詢之間的數據庫連接,還是應該在打開之前將其保持打開狀態?打開/關閉連接的速度懲罰是否高?與數據庫建立連接的開銷
1
A
回答
3
ADO.NET將爲您「連接」連接。當你關閉一個連接時,它並沒有真正關閉,而是放置在一個池中。當使用相同的連接字符串請求新連接時,將重用池中的連接。游泳池速度非常快,實際上,打開連接實際上是免費的。
最好的做法是打開當你需要它的連接,右後關閉:
using (var db = new SqlConnection(connectionString)) {
... retrieve data ...
}
如果這樣的代碼,你不必擔心連接一輩子都沒有。
2
由於存在與創建,打開和關閉連接相關的開銷(即使連接池正在使用中),您應理想地連接一次,檢索所有數據,然後關閉並處理連接。您應確保使用using
方法,這樣您就不會無意中將連接打開的時間超過必要的時間。
1
根據我的經驗,打開和關閉連接對於low volume application
是有好處的,但對於high volume application
,打開和關閉連接的成本變得很重要。因此,它依賴於上下文。在爲大型應用程序工作時,Connection pooling陷入了詭計。 ADO.NET
絕對處理連接池。
相關問題
- 1. 建立與數據庫的連接
- 2. JDBC建立與數據庫的連接
- 3. WordPress的 - 建立數據庫連接
- 4. WordPress錯誤建立數據庫連接
- 5. 不能建立數據庫連接
- 6. Clojure建立多個數據庫連接
- 7. Ofbiz中:無法建立與數據庫的連接的helperName [localmysql]
- 8. 建立與雲SQL的數據庫連接時出錯
- 9. 如何使用DataContext類建立與Oracle數據庫的連接?
- 10. 如何使用TCP建立與數據庫的連接?
- 11. 如何使用MySQLConnectorC++建立與數據庫的連接?
- 12. 建立與數據庫連接的要求
- 13. 如何在PHP Laravel Lumen中建立與數據庫的連接?
- 14. 建立與本地SQL Server數據庫文件的連接
- 15. 如何識別在建立與數據庫的連接
- 16. 斷開與數據庫的連接
- 17. 如何建立數據庫連接無法建立網站
- 18. 與Sage Abra Suite建立數據庫連接
- 19. phonegap/msql(i)無法與數據庫建立連接
- 20. 動態子類化和ActiveRecord與PostgreSQL數據庫建立連接
- 21. ASP.NET MVC3 - 連接建立與SQL Server 2008 R2數據庫
- 22. 無法與任何數據庫主機建立連接
- 23. 何時與Java/Tomcat建立數據庫連接
- 24. 我應該與PHP建立數據庫連接嗎包括
- 25. 在Zend Framework中與Firebird適配器建立數據庫連接
- 26. 無法與postgresql數據庫建立連接
- 27. 無法建立與PHP數據庫連接
- 28. 如何使用sencha touch與數據庫建立遠程連接
- 29. 建立與WebSocket的連接
- 30. 避免連接數據庫在php中的開銷
@thecoon,不是真的,在這裏OP詢問表現不怎麼樣.. – Steve