2012-04-07 103 views
1

在我的web服務中,我有一個用戶表,其中包含名爲「HITS」的列,現在作爲此用戶類/表中的用戶使用Web服務,「HITS」計數增加1涉及寫作操作,因此進入樂觀/悲觀鎖定。高併發寫入數據庫

我面臨的問題是高併發情況,其中同一用戶同時發生100個匹配。

任何人都可以建議我一個策略,以避免由同一用戶的帳戶同時使用Web服務時鎖定用戶行更新「HITS」造成的延遲?

OR

你也可以提出一個方法來更新一些變量,我可以每12小時監測後,產生了「命中」的值,通過總結變量(一個或多個)或類似的東西?

我正在使用hibernate和EJB無狀態會話bean。

+0

數據庫是否支持commit-rollback? – 2012-04-07 12:31:52

+0

是的,數據庫支持提交和回滾。爲什麼你問這個? – David 2012-04-07 13:02:39

+0

然後你可以讓它成爲一個原子操作。但只是把它們塞進去然後數出來的想法會好得多。 – 2012-04-07 17:51:25

回答

3

只需插入每一個擊入表all_hits一個記錄......

然後在一些時間表 - 從表中選擇,並插入到hits_summary表,並刪除了原稿。