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