我测试发现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更高。