繁体   English   中英

如何处理并发数据库请求或如何运行简短的SQL查询,同时正在进行长时间运行的查询

[英]How to handle concurrent database request or How to run a short sql query, while a long running query is in progress

考虑有一个用户请求需要在后端执行sql查询,并且结果数据需要作为响应返回,但是用户已经发起了另一个包含很长时间运行的sql查询的请求。

虽然查询正在进行中,但我需要数据库来处理较短的查询(使较短的查询比长时间运行的查询更优先)。

  1. 是否可以通过调整数据库服务器来实现这种并发执行?
  2. 可以使用Java Threads来实现这一目标吗? 这是一个正确的选择吗?

大多数数据库支持并发语句执行,通常使用Multiversion并发控制(MVCC)或其他机制。 客户端通常可以打开与数据库服务器的多个连接,并在每个连接中运行不同的SQL状态。

您需要检查数据库服务器如何处理并发,您可以先看看MySQL的这个答案 然后查看JDBC Basics文档以了解如何打开多个连接。 将会出现特定于您的用例的事务隔离级别或锁定处理等问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM