2012-03-29 61 views
0

有沒有辦法先提交事務內存?然後在工作負載不重的情況下,在一段時間後在硬盤上保留相同的更改?即時通訊談論最多3-5秒。我不能冒險抱着內存中的所有數據庫,我只是想先反映更改內存,這樣我可以有一個快速的反應,跟沒有造成硬盤延遲。有沒有辦法做到這一點,而不是把所有的數據庫放在內存上?mysql如何先寫更改內存,然後到磁盤

IM使用冬眠3.6,MySQL的5.1.22和MySQL連接器5.1.18。保持寫入直到必要寫入到磁盤:但如果需要的話

回答

0

這就是數據庫做反正我可以改變到MySQL 5.5。你不應該擔心這個問題,達卡已經爲你做了這件事。

如果你只需要內存來存儲和提高性能,你可以在MYSQL中使用Memory Storage,但是請注意當服務器關閉時數據會丟失。

+0

我怎樣才能擺脫花在調用Session.flush在休眠那麼時間?所以我假設在session.flush上花費的時間僅僅是生成sql語句並寫入數據庫事務? – kommradHomer 2012-03-29 14:52:13

+0

同意。你先到了那裏! – T9b 2012-03-29 14:52:46

+0

@kommradHomer我不熟悉與NHibernate但我想調用Session.flush它引發了一些密集的操作,無論是CPU綁定或IO的限制,並很可能迫使數據庫中一些東西寫入磁盤;不管情況如何,我的感覺是應該在編碼方面解決問題,而不是數據庫方面。 – Icarus 2012-03-29 14:56:48