.Net 中的 Oracle 连接池
Oracle Connection Pooling in .Net
我们有一个使用 Oracle 数据库的系统。有人问我系统是否使用了我不确定的连接池。
我们正在使用 Oracle.DataAccess.Client.OracleConnection
在阅读该主题时,我发现连接池在连接字符串中设置为 true,并且默认设置为 true。
我们的连接字符串不包含任何池设置。这是否意味着我们正在使用池化?如果是这样,默认的最小和最大池大小是多少?在隐式使用连接池的情况下(即未在连接字符串中指定),我无法找到有关这些值的任何信息。
默认情况下连接池是打开的,如official ODP.NET documentation on Connection String Attributes(默认值:Pooling = true
)中指定的那样。
因此,如果您的连接字符串省略任何类型的连接池设置,您将获得具有以下基本默认设置的连接池,同样基于相同的 official ODP.NET documentation page on Connection String Attributes:
Connection Timeout = 15
:等待池中空闲连接的最长时间(以秒为单位)。
Decr Pool Size = 1
: 当大量已建立的连接未被使用时关闭的连接数。
Incr Pool Size = 5
: 当池中的所有连接都被使用时要创建的新连接数。
Max Pool Size = 100
: 一个池中的最大连接数。
Min Pool Size = 1
: 池中的最小连接数。
该文档还提到了其他有趣的默认池值,您可能还想阅读这些值。
我们有一个使用 Oracle 数据库的系统。有人问我系统是否使用了我不确定的连接池。
我们正在使用 Oracle.DataAccess.Client.OracleConnection
在阅读该主题时,我发现连接池在连接字符串中设置为 true,并且默认设置为 true。
我们的连接字符串不包含任何池设置。这是否意味着我们正在使用池化?如果是这样,默认的最小和最大池大小是多少?在隐式使用连接池的情况下(即未在连接字符串中指定),我无法找到有关这些值的任何信息。
默认情况下连接池是打开的,如official ODP.NET documentation on Connection String Attributes(默认值:Pooling = true
)中指定的那样。
因此,如果您的连接字符串省略任何类型的连接池设置,您将获得具有以下基本默认设置的连接池,同样基于相同的 official ODP.NET documentation page on Connection String Attributes:
Connection Timeout = 15
:等待池中空闲连接的最长时间(以秒为单位)。Decr Pool Size = 1
: 当大量已建立的连接未被使用时关闭的连接数。Incr Pool Size = 5
: 当池中的所有连接都被使用时要创建的新连接数。Max Pool Size = 100
: 一个池中的最大连接数。Min Pool Size = 1
: 池中的最小连接数。
该文档还提到了其他有趣的默认池值,您可能还想阅读这些值。