Java 使用JdbcPooledConnectionSource时检查连接的成本
使用JdbcPooledConnectionSource时,可以让Ormlite在将连接移交给用户之前检查连接,如下所示:Java 使用JdbcPooledConnectionSource时检查连接的成本,java,jdbc,database-connection,ormlite,Java,Jdbc,Database Connection,Ormlite,使用JdbcPooledConnectionSource时,可以让Ormlite在将连接移交给用户之前检查连接,如下所示: JdbcPooledConnectionSource connectionSource = new JdbcPooledConnectionSource("jdbc:h2:mem:account"); connectionSource.setTestBeforeGet(true); 让Ormlite进行检查的性能成本是多少?为什么我不让Ormlite检查连接 让
JdbcPooledConnectionSource connectionSource =
new JdbcPooledConnectionSource("jdbc:h2:mem:account");
connectionSource.setTestBeforeGet(true);
让Ormlite进行检查的性能成本是多少?为什么我不让Ormlite检查连接
让Ormlite进行检查的性能成本是多少
您可以查看JdbcPooledConnectionSource
的源代码。在testConnection(…)
方法中,它有效地执行以下操作:
connMetaData.connection.queryForLong(`SELECT 1`);
至于表现如何,这将取决于许多因素。这是对数据库服务器执行RPC,但不应影响服务器上的任何磁盘。因此,在现代系统上,我们所说的可能是10毫秒——也许更少
我认为评估成本的最佳方法是打开它并测试您的应用程序,然后关闭它,看看您是否注意到了差异
为什么我不让Ormlite检查连接
设置此设置的原因是为了防止池连接在使用时发生错误。我认为使用它是保守的
JdbcPooledConnectionSource
为您提供了验证连接的其他方法,而这些方法并非每次您获取池连接时都会用到。例如,如果您对某个非0值调用setCheckConnectionsEveryMillis(…)
,它将分叉一个线程,每隔一段时间测试一次连接60000将让线程在后台执行SELECT 1
,这不会降低应用程序的速度
让Ormlite进行检查的性能成本是多少
您可以查看JdbcPooledConnectionSource
的源代码。在testConnection(…)
方法中,它有效地执行以下操作:
connMetaData.connection.queryForLong(`SELECT 1`);
至于表现如何,这将取决于许多因素。这是对数据库服务器执行RPC,但不应影响服务器上的任何磁盘。因此,在现代系统上,我们所说的可能是10毫秒——也许更少
我认为评估成本的最佳方法是打开它并测试您的应用程序,然后关闭它,看看您是否注意到了差异
为什么我不让Ormlite检查连接
设置此设置的原因是为了防止池连接在使用时发生错误。我认为使用它是保守的
JdbcPooledConnectionSource
为您提供了验证连接的其他方法,而这些方法并非每次您获取池连接时都会用到。例如,如果您对某个非0值调用setCheckConnectionsEveryMillis(…)
,它将分叉一个线程,每隔一段时间测试一次连接60000将让线程在后台执行SELECT 1
,这不会降低应用程序的速度
让Ormlite进行检查的性能成本是多少
您可以查看JdbcPooledConnectionSource
的源代码。在testConnection(…)
方法中,它有效地执行以下操作:
connMetaData.connection.queryForLong(`SELECT 1`);
至于表现如何,这将取决于许多因素。这是对数据库服务器执行RPC,但不应影响服务器上的任何磁盘。因此,在现代系统上,我们所说的可能是10毫秒——也许更少
我认为评估成本的最佳方法是打开它并测试您的应用程序,然后关闭它,看看您是否注意到了差异
为什么我不让Ormlite检查连接
设置此设置的原因是为了防止池连接在使用时发生错误。我认为使用它是保守的
JdbcPooledConnectionSource
为您提供了验证连接的其他方法,而这些方法并非每次您获取池连接时都会用到。例如,如果您对某个非0值调用setCheckConnectionsEveryMillis(…)
,它将分叉一个线程,每隔一段时间测试一次连接60000将让线程在后台执行SELECT 1
,这不会降低应用程序的速度
让Ormlite进行检查的性能成本是多少
您可以查看JdbcPooledConnectionSource
的源代码。在testConnection(…)
方法中,它有效地执行以下操作:
connMetaData.connection.queryForLong(`SELECT 1`);
至于表现如何,这将取决于许多因素。这是对数据库服务器执行RPC,但不应影响服务器上的任何磁盘。因此,在现代系统上,我们所说的可能是10毫秒——也许更少
我认为评估成本的最佳方法是打开它并测试您的应用程序,然后关闭它,看看您是否注意到了差异
为什么我不让Ormlite检查连接
设置此设置的原因是为了防止池连接在使用时发生错误。我认为使用它是保守的
JdbcPooledConnectionSource
为您提供了验证连接的其他方法,而这些方法并非每次您获取池连接时都会用到。例如,如果您对某个非0值调用setCheckConnectionsEveryMillis(…)
,它将分叉一个线程,每隔一段时间测试一次连接60000将让线程在后台执行SELECT 1
,这不会降低应用程序的速度