java - 哪些方法可以减少 JDBC 线程暂停?

标签 java mysql database multithreading jdbc

我们正在运行一个 Java 服务器应用程序,它需要从 MySQL 数据库中获取信息,以便向连接的客户端显示数据。但是,由于一次连接的客户端很多,它必须在短时间内执行很多查询。

因此,会出现严重滞后/延迟,线程将死锁并暂停,直到查询完成...

除了使线程异步之外,我们是否可以使用任何方法来防止线程在等待数据库时锁定,因为我们需要同步数据?

我见过诸如连接池之类的东西,但是我们需要一种方法来同步从数据库中获取数据,而不会使服务器应用程序的其余部分滞后。

应该是当用户点击x时,y会发生而不是用户点击x,程序锁定并暂停2 seconds then y 将在查询完成后发生。

最佳答案

绝对是连接池。

如果您使用的是 GlassFish 等 Web 应用程序,可以通过创建数据库(如 MySQL)的连接池,然后使用 JNDI 命名服务访问该池来实现。这种组合可以更有效地使用数据库访问。

article非常适合。

关于java - 哪些方法可以减少 JDBC 线程暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18811478/

相关文章:

mysql - 按月分组统计结果

android - Android Activity 类中的面向对象范围和继承

java - 我应该在哪里直接(通过查询)或通过前端的函数在数据库列中使用 MD5 哈希?

java - CXF WSPasswordCallback 的替代方案

java - 有没有办法在不运行 maven build 的情况下测试 war 文件中的代码更改?

java - 从文本文件动态生成球和迷宫之间的碰撞检测

php - 注册在 php 中不起作用

java - 微服务中的外部URL配置

php查询忽略order by

php - 在同一页面上将用户输入显示为评论