Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql如何先将更改写入内存,然后写入磁盘_Mysql_Hibernate_Jdbc - Fatal编程技术网

mysql如何先将更改写入内存,然后写入磁盘

mysql如何先将更改写入内存,然后写入磁盘,mysql,hibernate,jdbc,Mysql,Hibernate,Jdbc,有没有办法先将事务提交到内存?然后在一段时间后,当工作负载不重时,在硬盘上保存相同的更改?我说的是最多3-5秒。我不能冒险将所有数据库都保存在内存中,我只想首先反映内存的变化,这样我就可以快速响应,而不会因为硬盘而造成延迟。有没有一种方法可以在不将所有数据库放在内存中的情况下执行此操作 im使用hibernate 3.6、mysql 5.1.22和mysql连接器5.1.18。但是如果需要的话,我可以改为mysql 5.5,这就是数据库的工作:在需要写入磁盘之前保持写入。你不必担心,dabata

有没有办法先将事务提交到内存?然后在一段时间后,当工作负载不重时,在硬盘上保存相同的更改?我说的是最多3-5秒。我不能冒险将所有数据库都保存在内存中,我只想首先反映内存的变化,这样我就可以快速响应,而不会因为硬盘而造成延迟。有没有一种方法可以在不将所有数据库放在内存中的情况下执行此操作


im使用hibernate 3.6、mysql 5.1.22和mysql连接器5.1.18。但是如果需要的话,我可以改为mysql 5.5,这就是数据库的工作:在需要写入磁盘之前保持写入。你不必担心,dabatase已经在为你做这件事了


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

如何消除在hibernate上花费在session.flush上的时间?所以我假设花在session.flush上的时间仅仅是生成sql语句和写入数据库事务?@kommradHomer我不熟悉NHibernate,但我想象session.flush会触发一些密集的操作,无论是CPU绑定还是IO绑定,很可能会迫使数据库将一些内容写入磁盘;不管是什么情况,我的感觉是这个问题应该在编码方面解决,而不是在数据库方面。你是对的;我只花时间创建SQL语句,cpu为%100,而不是硬盘或数据库操作。