嵌入式 Firebird 的连接池是否毫无意义?

Is a connection pool for Firebird embedded pointless?

我正在使用为数据库嵌入的 firebird 3 创建一个应用程序服务器。连接池通常会加快进行一次事务并断开连接的短连接的速度。但这是否也适用于在连接时不进行身份验证和网络操作的嵌入式 firebird?

创建与 Firebird Embedded 的连接比创建与 Firebird 服务器的连接(尤其是通过非本地网络连接)的开销要少得多。在这方面,使用 Firebird Embedded 的连接池提供的好处少于网络连接。

但是,使用连接池可能仍会提供一些好处。例如,各种缓存将被保留和重用,如元数据缓存、页面缓冲区和一些可能与文件系统相关的缓存。这个好处是否大到足以保证连接池,我不确定,而且我不知道任何基准。

如果您使用的是连接池实现已经可用的语言,那么与首先必须自己实现它相比,尝试和测量会更便宜。例如,对于 C# (.net),Firebird ADO.net 提供程序包含一个(默认启用),对于 Java,有很多第三方连接池库可用。