2017-07-28 53 views
0

如果數據庫只能同時接受20個請求,但在UI中,我們同時有100個請求。如何在java中解決這個問題?如何訪問從ui到數據庫的請求

+3

A [連接池](https://stackoverflow.com/questions/2835090/how-to-establish-a-connection-pool-in -jdbc)(這是一個*特殊的* [對象池模式](https://en.wikipedia.org/wiki/Object_pool_pattern))。 –

+0

謝謝Elliott.if任何其他方式來解決這個問題 –

+0

當然!使數據庫同時接受100個請求。 –

回答

0

您的查詢應該是這個樣子:

select * from table1 where ... fetch first 100 rows only

或者

您可以使用此邏輯

  • MaxActive:分貝的最大連接數池。對於沒有 的限制設置爲-1。
  • MaxIdle:保留在池中的空閒dB連接的最大數量。無限制設置爲-1。
  • MaxWait:等待dB連接的最大毫秒數爲
    變爲可用。設置爲-1以無限期等待。
0

由於Elliott建議您可以使用連接池或對象池,但是您可能會遇到性能問題。下一組請求必須等到前20個請求完成。 或者,您可以將數據庫線程數從20增加到100.