Postgres Npgsql连接池

当使用Npgsql进行Postgres时,我想更好地理解连接池。(http://www.npgsql.org/)

使用连接字符串时:

UserID=root;密码=我的密码;主机=本地主机;端口=5432;数据库=myDataBase;池=真;最小池大小=0;最大池大小=100

“在哪里?”;“联营”;会发生什么?在我的应用服务器上还是在数据库上

当我调用connection.Open()时,会发生什么?是否从池中获取连接(如果存在),如果不存在,则创建池

如有任何其他关于连接池的一般信息,将不胜感激

谢谢

Npgsql连接池是在您的应用程序进程中实现的——它与PostgreSQL无关,后者完全不知道这一点

机制非常简单。关闭池连接时,物理连接在内存中保持空闲(在“池”中),而不是物理关闭与PostgreSQL的连接。下次打开新连接时,如果其连接字符串与池中已存在的物理连接匹配,则将重用该物理连接,而不是打开新的物理连接

由于打开/关闭物理连接是一个昂贵的过程,这将大大加快应用程序的速度

发表评论