2

任何人都可以推荐该软件来分析/优化 Java/Tomcat 应用程序中的现有查询。大约 70% 的查询是由 Hibernate 生成的。数据库是 PostgreSQL,但我想使用通用解决方案,而不是特定数据库

4

1 回答 1

3

这没有什么神奇的产品,没有“让我的查询更快”。

可以做的是使用像Hibernate Profiler这样的分析工具来跟踪您的数据库活动。Hibernate 的内置日志记录也很有用。看看如何衡量休眠性能?了解更多详情。

这些不会给你一个让事情变得更快的秘诀;您必须查看热点,并且:

  • 看看您是否可以通过缓存或更智能的逻辑找到降低查询率的方法;
  • 更有效地重新制定 HQL 或条件查询
  • 必要时在本机 SQL 中重写错误的 HQL 或 Criteria 查询
  • 添加索引(添加索引的更新成本不超过读取它的好处);等等

您还可以检查 PostgreSQL 日志:

  • 启用详细日志记录 ( log_statement = 'all', log_min_duration_statement = 0)
  • 安装和使用 pgbadger 获取日志报告
  • 阅读日志报告
  • 看看你是否可以根据“热”查询和表来改进你的应用程序中的查询模式

它还可以用于:

  • 安装auto_explain模块并启用它
  • 检查慢查询的查询计划
  • 确定它们来自您的应用程序的位,看看您是否可以更有效地重新构造查询,在适当的地方缓存,或者在增加的写入成本不超过读取加速的好处的情况下添加索引。
于 2013-06-06T23:55:00.040 回答