如何在 mnesia 中启动表?
我遇到过这样的情况:其中一个表的大小为 2G,之后我无法使用该表
“mynode@localhost”5> mnesia:dirty_first(my_table)。 ** 退出:{aborted,{badarg,[my_table]}} **
我知道我需要应用碎片,但如何在运行时执行它? 主要问题是 - 如何启动 my_table 以在运行时减小其大小? (我的意思是无需重新启动mnesia)
I have situation when one of tables rich size 2G and after it I cannot work with this table,
'mynode@localhost' 5> mnesia:dirty_first(my_table).
** exited: {aborted,{badarg,[my_table]}} **
I understand I need apply fragmentation but how to do it in runtime?
And main question is - howto start my_table to reduce its size in runtime? (i mean without restart mnesia)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您在 mnesia 中存储什么样的数据?据我了解,您正在尝试遍历您的桌子,是吗?
如果您可以决定数据库中存储的最大数据量,那么您可以在创建表时预先确定所需的片段数量。
否则,如果您需要重新配置已经碎片化的数据库,请检查以下链接是否对您有帮助::
http://www.erlang.org/doc/apps/mnesia/Mnesia_chap5.html
What kind of data are you storing in mnesia ? From what I understand, you are trying to traverse your table , is it ?
If you can decide on what will be the maximum amount of data that will be stored in your database , then you can predecide the number of fragments you need while creating the table.
Else if you need to reconfigure your already fragmented database, then check if the below link helps you ::
http://www.erlang.org/doc/apps/mnesia/Mnesia_chap5.html