我测试发现mnesia:create_table()有这样几个特点。
example1:
Tabdef = [{type, ordered_set}, {attributes, record_info(fields, signals)}].
mnesia:create_table(signals, Tabdef).
example2:
Tabdef = [{type, set}, {attributes, record_info(fields, signals)}].
mnesia:create_table(signals, Tabdef).
结论:
1. 如果用ORDERED_SET类型表,那么后面的插入行语句会出错,提示表不存在,必须在后面加上以下语句: mnesia:wait_for_tables([signals],5000).
这说明该函数是异步的。
2. 用SET类型表没有这个问题,说明SET类型表的操作效率比ORDERED_SET更高。
本文探讨了Erlang中Mnesia数据库的表创建特点,特别是对于ORDERED_SET与SET类型的表,在创建后立即进行插入操作的行为差异。实验证明,使用ORDERED_SET类型表时需要等待表完全创建完成才能继续后续操作。
324

被折叠的 条评论
为什么被折叠?



