2
SQL Server 2005是否爲每個連接創建一個線程?或者它如何管理連接?SQL Server如何保持連接?
SQL Server 2005是否爲每個連接創建一個線程?或者它如何管理連接?SQL Server如何保持連接?
不,它有一個線程池,根據需要創建或終止它。連接與執行實際查詢執行的工作線程分開管理。查詢還可能導致多個線程用於並行執行計劃。
某些較舊的基於UNIX-DB的,諸如Informix的SE或老版本的Postgres將fork一個單一的過程每個連接,通過連接到共享存儲器池保持共享數據結構。 Oracle也可以以'共享服務器'模式工作,該模式(IIRC)也可以這種方式工作。
第三本書在'Guru's Guide'系列具有在SQL Server 2000中的內部架構的詳細研究;在大多數方面SQL Server 2005沒有明顯的不同。除此之外,這討論了線程管理。作爲獎勵,本書的前半部分對Win32系統編程的關鍵方面進行了很好的概述,作爲數據庫服務器架構審查的背景介紹。