我有一个到数据库的静态java连接。
第一个帖子
使用我的静态连接我正在创建一个语句并调用executeQuery()方法。在这一点上,我在等待,因为查询结果非常大,我必须等待超过15分钟。
第二线程
使用相同的静态连接我试图调用createStatement()方法。这里第二个线程被阻止了。
有很多方法可以解决这个问题,但我找不到为什么这个方法不起作用。有什么想法吗?
答案 0 :(得分:0)
通常,数据库的单Connection
是通过Sockets
机制实现的。更好的说,你的单connection
是某种管道,用于具体查询,每次执行一次。
很难想象这样的最佳和高性能代码实现,尽管一个套接字多个查询及其结果是并行发送的。这样的实现可能会导致数据包混淆,至少会丢失。
如上面评论中提到的karmanaut,您需要实现数据库池,即连接池,它将同时用于每个语句。