iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ADO.NET连接池是什么
  • 797
分享到

ADO.NET连接池是什么

2023-06-17 20:06:56 797人浏览 泡泡鱼
摘要

这篇文章主要讲解了“ADO.net连接池是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接池是什么”吧!知道现在编程什么是最宝贵的?数据库连接,它其实是很耗费资源的。这里

这篇文章主要讲解了“ADO.net连接池是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接池是什么”吧!

知道现在编程什么是最宝贵的?数据库连接,它其实是很耗费资源的。这里我们就连接池这个问题我们来一起讨论讨论吧。数据库连接池是为了更有效地利用数据库连接的最重要措施。它对于一个大型的应用系统的性能至关重要,特别是WEB应用。ADO.NET Data Provider(以下简称Data Provider)会帮我们管理连接池,所以有人说使用连接池就像游儿童池一样轻松。但并不是说有了Data Provider程序员就万事无忧的,不正确地使用连接池可能导致你的应用在池里淹死。

什么是ADO.NET连接池?

ADO.NET连接池是Data Provider提供的一个机制,使得应用程序使用的连接保存在连接池里而避免每次都要完成建立/关闭连接的完整过程。要理解连接池,先要理解程序里sqlConnection.Open()、SqlConnection.Close()和打开/关闭一个“物理连接”的关系。

Data Provider在收到连接请求时建立连接的完整过程是:先连接池里建立新的连接(即“逻辑连接”),然后建立该“逻辑连接”对应的“物理连接”。建立“逻辑连接”一定伴随着建立“物理连接”。Data Provider关闭一个连接的完整过程是先关闭“逻辑连接”对应的“物理连接”然后销毁“逻辑连接”。销毁“逻辑连接”一定伴随着关闭“物理连接”。SqlConnection.Open()是向Data Provider请求一个连接,Data Provider不一定需要完成建立连接的完整过程,可能只需要从连接池里取出一个可用的连接就可以;SqlConnection.Close()是请求关闭一个连接,Data Provider不一定需要完成关闭连接的完整过程,可能只需要把连接释放回连接池就可以。

下面以一个例子来说明。本文例子都使用Console Application。我们使用操作系统的性能监视器来比较使用连接池与否,数据库的“物理连接”数量的不同。因为性能监视器至少每一秒采集一次数据,为方便观察效果,代码中Open和Close连接后都Sleep一秒。

SqlConnection con = new SqlConnection("server = .;  database = northwind;pooling = false;trusted_connection = true");  for(int i = 0;i < 10;i++)  {  try  {  con.Open();  System.Threading.Thread.Sleep(1000);  }  catch(Exception e){Console.WriteLine(e.Message);}  finally  {  con.Close();  System.Threading.Thread.Sleep(1000);  }  }

首先,不使用ADO.NET连接池做测试。以上程序中pooing = false表示不使用连接池,程序使用同一个连接串Open & Close了10次连接,使用性能计数器观察SQL Server的“物理连接”数量。从下面的锯齿图可以看出每执行一次con.Open(),SQLServer的“物理连接”数量都增加一,而每执行一次con.Close(),SQLServer的“物理连接”数量都减少一。由于不使用连接池,每次Close连接的时候Data Provider需要把“逻辑连接”和“物理连接”都销毁了,每次Open连接的时候Data Provider需要 建立“逻辑连接”和“物理连接”,锯齿图因此而成。

ADO.NET连接池是什么


下面启用连接池再测试一次。把连接串的pooling参数改为true,另外在for循环后加上Console.Read()。

从下图可以看出,从***次Open到第执行完Console.Read()这段时间内,SQL Server的“物理连接”数量一直保持为1,直到关闭console应用程序的进程后SQL Server的“物理连接”数量才变为0。由于使用了连接池,每次Close连接的时候Data Provider只需把“逻辑连接”释放回连接池,对应的“物理连接”则保持打开的状态。每次Open连接的时候,Data Provider只需从连接池取出一个“逻辑连接”,这样就可以使用其对应“物理连接”而不需建立新的“物理连接”,直线图因此而成。

ADO.NET连接池是什么

<

感谢各位的阅读,以上就是“ADO.NET连接池是什么”的内容了,经过本文的学习后,相信大家对ADO.NET连接池是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: ADO.NET连接池是什么

本文链接: https://www.lsjlt.com/news/292904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ADO.NET连接池是什么
    这篇文章主要讲解了“ADO.NET连接池是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接池是什么”吧!知道现在编程什么是最宝贵的?数据库连接,它其实是很耗费资源的。这里...
    99+
    2023-06-17
  • ADO.NET连接池有什么用
    本篇内容主要讲解“ADO.NET连接池有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET连接池有什么用”吧!ADO.NET经过长时间的发展,很多用户都很了解ADO.NET了,这...
    99+
    2023-06-17
  • ADO.NET连接池怎么用
    这篇文章主要为大家展示了“ADO.NET连接池怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ADO.NET连接池怎么用”这篇文章吧。ADO.NET连接池允许应用程序从连接池中获得一个连接并...
    99+
    2023-06-17
  • ADO.NET连接池怎么关闭
    这篇文章主要讲解了“ADO.NET连接池怎么关闭”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接池怎么关闭”吧!对于ADO.NET连接池,大家不会陌生。不过多次用过ADO.N...
    99+
    2023-06-17
  • ADO.NET连接池问题怎么解决
    本篇内容介绍了“ADO.NET连接池问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一种CS架构的程序,直接把SQL Server...
    99+
    2023-06-17
  • ADO.Net中怎么利用连接池连接字符串
    ADO.Net中怎么利用连接池连接字符串,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说了这么多ADO.Net连接池的相关注释,那我们什么时候需要使用到Conn...
    99+
    2023-06-17
  • ADO.NET连接池优缺点有哪些
    这篇文章给大家分享的是有关ADO.NET连接池优缺点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ADO.NET中为了提高性能,所以使用了连接池,这样每个请求就不必都创建一个连接,然后认证,然后执行SQL,...
    99+
    2023-06-17
  • 如何使用ADO.NET中FAQ连接池
    这篇文章将为大家详细讲解有关如何使用ADO.NET中FAQ连接池,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ADO.NET有很多值得学习的地方,这里我们主要介绍ADO.NET FAQ连接池,包括介绍连接...
    99+
    2023-06-17
  • ADO.NET连接池有哪些优缺点
    这篇文章主要介绍“ADO.NET连接池有哪些优缺点”,在日常操作中,相信很多人在ADO.NET连接池有哪些优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ADO.NET连接池有哪些优缺点”的疑惑有所帮助!...
    99+
    2023-06-17
  • 什么是redis连接池
    Redis连接池是用于管理Redis连接的工具,它可以有效地管理和复用Redis连接,提高连接的使用效率和性能。在使用Redis时,...
    99+
    2023-09-09
    redis
  • 如何使用DataAdapter优化ADO.NET连接池
    这篇文章主要为大家展示了“如何使用DataAdapter优化ADO.NET连接池”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用DataAdapter优化ADO.NET连接池”这篇文章吧。...
    99+
    2023-06-17
  • ADO.NET连接数据库方法是什么
    这篇文章主要讲解了“ADO.NET连接数据库方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET连接数据库方法是什么”吧!ADO.NET连接数据库的内容包括:连接到数据库、...
    99+
    2023-06-17
  • ADO.NET连接池相关注意问题有哪些
    本篇内容介绍了“ADO.NET连接池相关注意问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ADO.NET连接池是Data Prov...
    99+
    2023-06-17
  • ADO.NET连接池的原理及其使用方法
    本篇内容主要讲解“ADO.NET连接池的原理及其使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET连接池的原理及其使用方法”吧!不要关闭数据库中所有的连接,至少保证ADO.NE...
    99+
    2023-06-17
  • MySQL数据库连接池SMProxy是什么
    这篇文章主要介绍MySQL数据库连接池SMProxy是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Swoole MySQL Proxy,一个基于 MySQL 协议,Swoole...
    99+
    2022-10-18
  • python数据库连接池中数据库连接池技术的优点是什么
    本篇文章给大家分享的是有关python数据库连接池中数据库连接池技术的优点是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。昨天测试了一下开500个线程去请求数据库,不过这个...
    99+
    2023-06-17
  • HttpClient连接池及重试机制是什么
    本篇内容介绍了“HttpClient连接池及重试机制是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、HttpClient简介Http...
    99+
    2023-06-29
  • java连接池的工作原理是什么
    连接池是一种管理数据库连接的技术,它在应用程序初始化时创建一定数量的数据库连接并保存在连接池中,应用程序需要数据库连接时,直接从连接...
    99+
    2023-09-13
    java
  • 数据库连接池的原理?连接池使用什么数据结构实现?实现连接池?
    早期我们怎么进行数据库操作呢? 1、原理:一般来说,Java应用程序访问数据库的过程是: 加载数据库驱动程序; 通过jdbc建立数据库连接; 访问数据库,执行SQL语句; 断开数据库连接。 2、代码 1 //查询所有用户 ...
    99+
    2015-09-26
    数据库连接池的原理?连接池使用什么数据结构实现?实现连接池?
  • ADO.NET连接事件怎么用
    这篇文章主要介绍ADO.NET连接事件怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在ADO.NET有一个概念就是事件,所谓的事件就是发生的一次动作,文章这里就ADO.NET连接事件和大家深入细则的谈谈。所有 ...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作