如何确保mnesia的快速启动时间

max*_*max 5 erlang mnesia

带有mnesia/dets的Erlang因崩溃后启动时间慢而闻名.基本上与旧文件系统上的fsck相同.

但是在常规关机后我也经历了很慢的启动时间:在一台强劲的机器上,大约8分钟的250 MB磁盘数据.

因此,除了输入"q()"之外,我还必须在关机时做一些特别的事情.有没有办法加快启动时间?

max*_*max 3

到目前为止我发现的事情:

  • disk_only_tables 似乎会导致比 disk_tables 更长的启动时间
  • 使用新的表类型调用mnesia:create_table()不足以更改表类型。使用mnesia:change_table_copy_type()
  • 如果您删除项目,似乎 disk_only_tables 不会缩小并且加载速度不会更快。

我通过修复两个表上的表类型问题并将数据库大小缩小到 4 MB 解决了我的问题。