簡體   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