sqlserver数据库连接池查询
时间: 2023-06-16 10:06:06 浏览: 63
在 SQL Server 中使用连接池可以提高应用程序的性能和可扩展性。连接池是一组已经建立的数据库连接,它们可以被应用程序重用以避免在每次需要访问数据库时都重新建立连接的开销。连接池中的连接是由应用程序管理的,当应用程序需要访问数据库时,它可以从连接池中获取一个可用的连接,使用完毕后将连接返回到连接池中。
下面是一个使用连接池的示例代码,可以用来查询 SQL Server 数据库:
```csharp
using System;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword";
// 创建连接池
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionString);
builder.Pooling = true;
builder.MaxPoolSize = 100;
builder.MinPoolSize = 10;
builder.ConnectTimeout = 30;
connectionString = builder.ToString();
// 执行查询
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand("SELECT * FROM myTable", connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine("{0}\t{1}", reader.GetInt32(0), reader.GetString(1));
}
}
}
}
}
}
```
在上面的示例代码中,我们使用了 `SqlConnectionStringBuilder` 类来创建连接池,并设置了连接池的最大连接数、最小连接数、连接超时时间等参数。在查询数据时,我们使用了 `using` 语句来管理连接、命令和读取器对象,以确保它们在使用完毕后能够被正确地释放和关闭。
需要注意的是,使用连接池时应该避免在连接上执行长时间运行的操作,否则会占用连接池中的连接,影响其他应用程序的性能和可扩展性。如果需要执行长时间运行的操作,最好单独创建一个连接对象来执行,以避免对连接池的影响。