Java 我们如何分析JOOQ语句的速度
我已经用Union Platform实现了JOOQ,作为一个基于java的游戏服务器,并使用Union Platform的Orbiter Micro(Union JS客户端)在浏览器上运行它 然而,由于比赛中有30-40名活跃的小玩家,联盟平台在速度上落后 对于每个游戏实例(即每个房间),我配置了一个工厂连接来执行所有查询。它的作用是 轮到每个玩家时Java 我们如何分析JOOQ语句的速度,java,sql,performance,postgresql,jooq,Java,Sql,Performance,Postgresql,Jooq,我已经用Union Platform实现了JOOQ,作为一个基于java的游戏服务器,并使用Union Platform的Orbiter Micro(Union JS客户端)在浏览器上运行它 然而,由于比赛中有30-40名活跃的小玩家,联盟平台在速度上落后 对于每个游戏实例(即每个房间),我配置了一个工厂连接来执行所有查询。它的作用是 轮到每个玩家时 播放器可以输入一个整数,经过一系列(4次查询)的条件检查后,通过JOOQ插入/更新db 然后,为了返回整数的状态,它再次执行3个查询,这些查询有
- 播放器可以输入一个整数,经过一系列(4次查询)的条件检查后,通过JOOQ插入/更新db
- 然后,为了返回整数的状态,它再次执行3个查询,这些查询有效地转换为3个链接的hashmap,用于更新游戏状态
因此,任何提高吞吐量和分析每个查询的建议都是非常受欢迎的。对我来说,这听起来像是正常的SQL调优问题(或者几个不同的问题)。考虑到jOOQ允许您执行实际的SQL,并且在没有正确的索引和约束的情况下使用
外部连接时可能会出现很多错误,因此问题可能出在SQL本身。当您打开调试/跟踪日志记录时,jOOQ将向日志输出输出几条信息,包括
调试级别
- SQL语句
- 前5项成绩记录
- 语句执行时间
跟踪级别
- 与调试级别相同
- 报表编制时间
- 绑定值
- 语句绑定时间
如果您将或与jOOQ一起放在类路径上,这将起作用。更多细节记录在本文件中
这是一个开始。您也可以使用类似或的工具。显然,你应该考虑你的执行计划。这里有一些关于这方面的指示。感谢卢卡斯的指导。我会查出来的嘿,卢卡斯,我仍然无法找到在哪里设置JOOQ的日志信息。是在jooq.properties中吗???@Shekhar:我已经更新了答案。正如blog和jOOQ手册中所述,您可以使用log4j或slf4j作为应用程序的日志库