sql-server-2005 - SQL Server 如何维护连接?

标签 sql-server-2005

SQL Server 2005 是否为每个连接创建一个线程?或者它如何管理连接?

最佳答案

不,它有一个线程池,可以根据需要创建或终止。连接与执行实际查询执行的工作线程分开管理。一项查询还可能导致多个线程用于并行执行计划。

一些旧的基于 UNIX 的数据库,例如 Informix SE 或旧版本的 Postgres 会为每个连接 fork 一个进程,通过附加到共享内存池来维护共享数据结构。 Oracle 还可以在“共享服务器”模式下工作,(IIRC)也以这种方式工作。

'Guru's Guide'中的第三本书系列详细介绍了SQL Server 2000的内部架构;在大多数方面,SQL Server 2005 并没有显着的不同。除此之外,这还讨论了线程管理。作为奖励,本书的前半部分对 Win32 系统编程的关键方面进行了很好的概述,作为数据库服务器体系结构审查的背景知识提供。

关于sql-server-2005 - SQL Server 如何维护连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609882/

相关文章:

java - 已安装 JDBC 驱动程序但出现异常

sql-server-2005 - 在sql server 2005中设置本地服务器

sql-server-2005 - 为什么要在删除临时表之前立即截断?

sql-server - 删除 SQL Server 上的所有扩展属性

sql-server-2005 - sql server 2005 32 位在 win 2003 64 位上仅使用 2 GB

sql - Transact-SQL 中是否有与 typedef 等效的东西?

sql-server - TABLESAMPLE 返回错误的行数?

sql-server-2005 - SQL Server 2005 的日期数据类型

sql - 如何从包含自引用外键的表中删除数据

sql-server - 从sql server 2005中不同数据库中的另一个表创建表