【问题标题】:mysql how to write the changes to memory first , then to diskmysql如何将更改先写入内存,然后写入磁盘
【发布时间】:2012-04-13 05:37:49
【问题描述】:

有没有办法先将您的事务提交到内存中?然后在工作量不重的情况下,在一段时间后将相同的更改保留在硬盘上?我在谈论最多 3-5 秒。我不能冒险将所有数据库保存在内存中,我只想先将更改反映到内存中,以便我可以快速响应,而不会因硬盘造成延迟。有没有办法在不将所有数据库放在内存上的情况下做到这一点?

我正在使用休眠 3.6、mysql 5.1.22 和 mysql 连接器 5.1.18。但如果需要,我可以更改为 mysql 5.5

【问题讨论】:

    标签: mysql hibernate jdbc


    【解决方案1】:

    这就是数据库无论如何都会做的:保持写入直到需要写入磁盘。你不必担心,dabatase 已经在为你做这些了。

    您可以在 MYSQL 中使用Memory Storage,如果您只希望内存用于存储并提高性能,但请注意服务器关闭时数据会丢失。

    【讨论】:

    • 我怎样才能摆脱在 session.flush 上休眠的时间呢?所以我假设在 session.flush 上花费的时间只是生成 sql 语句和写入数据库事务?
    • @kommradHomer 我对 NHibernate 不熟悉,但我想 session.flush 它会触发一些密集的操作,无论是 CPU 绑定还是 IO 绑定,并且很可能会强制数据库将一些内容写入磁盘;不管是什么情况,我的感觉是应该在编码方面解决这个问题,而不是在数据库方面。
    • 我正在使用休眠。你是对的;我只花时间创建 SQL 语句,使用 %100 cpu,而不是硬盘或数据库操作。
    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多