2012-03-29 4 views
0

にトランザクションをメモリにコミットする方法はありますか?その後、作業負荷が重くない、ある時間後にハードディスクに同じ変更を維持しますか?私は最大3〜5秒ほど話しています。私はメモリ上のすべてのデータベースを保持する危険はありません、私はちょうどメモリへの変更を反映したい、私は速い応答を持つことができるように、ハードディスクによって引き起こされる遅延なし。すべてのデータベースをメモリに置かなければ、これを行う方法はありますか?mysqlの変更を最初にメモリに書き込んだ後にディスク

imは、hibernate 3.6、mysql 5.1.22およびmysql connector 5.1.18を使用しています。しかし、私は必要に応じてmysql 5.5に変更することができます

答えて

0

それはとにかく何のデータベースです:ディスクに書き込むために必要なまで書き込みを保持します。あなたはそれについて心配するべきではありません、ダバターゼはすでにあなたのためにこれをやっています。

ストレージ用のメモリのみを使用し、パフォーマンスを向上させながらサーバーをシャットダウンするとデータが失われることに注意して、Memory StorageをMYSQLで使用できます。

+0

hibernateでsession.flushに費やした時間をどうやってなくすことができますか?だから私はsession.flushに費やされた時間は、SQL文を生成してデータベーストランザクションに書き込むことにすぎないと思いますか? – kommradHomer

+0

が合意した。あなたは最初にそこに着いた! – T9b

+0

@kommradHomer私はNHibernateに慣れていませんが、session.flushは、CPUやIO-Boundのような集中的な処理を引き起こしていると思います。そのような場合は、データベース側ではなくコーディング側で問題に取り組まなければならないと感じています。 – Icarus

関連する問題