我有一个 postgresql 数据库,两个表中有超过 300 万行。
有些东西会降低整体性能,所以我用 Ubuntu 命令 pg_top
进行了一些分析。
我发现总是有这样的查询:
SELECT 1 FROM <tablename>;
看起来像是来自 java.sql.Connection
的连接测试语句,对吗?
当我在postgres命令中输入相同的命令时,需要4秒!索引都在那里,我检查过。
问题: 如何更改 Connection 对象使用的测试语句?
非常感谢!
最佳答案
您可能正在直接或间接地通过数据源或其他一些框架(如 hibernate)使用某种连接池。
查看连接池的文档并搜索术语“验证查询”。 对于 postgres,您应该能够设置如下查询:
select version();
这应该快得多。
关于针对 PostgreSQL 8.4.6 的 java.sql.Connection 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854594/