java - 如何获得 jdbc 提交的解释分析?

标签 java sql postgresql jdbc

我正在使用 postgres 数据库,并且我想优化程序的速度。我将自动提交设置为 false。如何获得 foo.commit() 的解释分析?

最佳答案

不能,因为COMMIT没有查询计划,并且EXPLAIN ANALYZE仅适用于计划查询。

如果您想要COMMIT执行持续时间,您可以为客户端计时,或者可以将log_min_duration_statement设置为0client_min_messageslog,然后捕获服务器发送给您的日志。

如果您试图找出提交速度慢的原因,最好研究一下:

  • 检查点持续时间;请参阅log_checkpoints
  • 存储子系统的pg_test_fsync结果
  • 是否正在使用任何DEFERRABLE约束和约束触发器;
  • 整体系统写入负载

关于java - 如何获得 jdbc 提交的解释分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17752222/

相关文章:

sql - 回滚已提交的事务

sql - Postgres - 'time without time zone' 范围和排除约束

sql - Postgresql 在同一张表上加入

Java 流 Collectors.groupingBy() 与字符串列表

java - 如何忽略 Apache HttpClient 4.0 中的 SSL 证书错误

java - "does not include"的 JsonPath 语法,还是负匹配?

java - 在 Java 中更改 SOAP 接口(interface)和弃用 Web 方法

mysql - sql 多次计数

.net - SQL 2005 服务器存储过程多次执行相同 SELECT 的奇怪问题

ruby-on-rails - 如何将部分字符串与数据库对象的属性相匹配?正则表达式?