打开与关闭数据库连接是比较费时的。为此,ADO.NET自动将数据库连接存放在连接池中。连接池可以大大提高数据读取性能,因为不必等待建立全新的数据库连接,而可以直接利用连接池中现成的数据库连接。关闭连接时,并不是实际关闭连接,而是将连接标为未用,放在连接池中,以备下一次启用。如果在连接字符串中提供相同的细节(同样的数据库、用户名、口令等),则可以取得并返回池中的连接。然后可以用这个连接访问数据库。
使用SqlConnection对象时,可以在连接字符串中指定max pool size表示连接池中允许的最大连接数,默认为100,也可以指定min pool size表示连接池中允许的最小连接数,默认为0。
在连接字符串中设置代码如下:
在连接字符串中设置代码如下:
string cstr=“server=\\audi\server;database=oa;uid=sa;pwd=sa;max pool size=10;min pool size=5;connection timeout=10”
SqlConnection con=new SqlConnection(@cstr);
SqlConnection con=new SqlConnection(@cstr);
上面的连接字符串中对连接池的设置表示最初在连接池中生成五个SqlConnection对象并且连接池中最多可以存储10个SqlConnection对象。如果要打开新的SqlConnection对象时,连接池中的对象全部都在使用中,则请求要等待一个SqlConnection对象关闭,然后才返回对象,供程序使用。如果请求等待时间超过ConnectionTimeout属性指定的秒数,则会抛出异常。
监视链接池化
要监视应用程序对链接池化的应用情况,可以使用随SQL Server发行的Profiler工具,或随微软Windows 2000发行的性能监视器。
要利用SQL Server Profiler 监视链接池化,操作如下:
要监视应用程序对链接池化的应用情况,可以使用随SQL Server发行的Profiler工具,或随微软Windows 2000发行的性能监视器。
要利用SQL Server Profiler 监视链接池化,操作如下:
- 单击开始,指向程序,指向Microsoft SQL Server,然后单击Profiler运行Profiler。
- 在文件菜单中,指向新建,然后单击跟踪。
- 提供链接内容,然后单击确定。
- 在跟踪属性对话框中,单击事件标签。
- 在已选事件类别列表中,确保审核登录和审核登出事件显示在安全审核下面。
- 单击运行开始跟踪。在链接建立时,将会看到审核登录事件;在链接关闭时看到审核登出事件。
- 单击开始,指向程序,指向管理工具,然后单击性能运行性能监视器。
- 在图表背景中右击,然后单击增加计数器。
- 在性能对象下拉列表框中,单击SQL Server:通用统计。
- 在出现的列表中,单击用户链接。
- 单击增加,然后单击关闭。