mnesia使用中遇到的问题

1. copy type的问题
建了一个mnesia数据库,其中一张表的copy type是disc_copies,大小有1.58G,活动监视器中可以看到Erlang虚拟机占用实际内存差不多有1.44G,虚拟内存占了2.2G

disc_copies实在不适合数据量大的表啊

而且数据量大时继续插入数据很容易出现如下警告信息
Mnesia(nonode@nohost): ** WARNING ** Mnesia is overloaded: {dump_log,
                                                            time_threshold}


2. 创建多个具有相同结构的表
在用户手册4.4节中提到这个需求,具体例子中忘了加上attributes了,修改如下
      TabDef = [{record_name, subscriber}, {attributes, record_info(fields,subscriber)}],
      mnesia:create_table(my_subscriber, TabDef),
      mnesia:create_table(your_subscriber, TabDef).

其中
-record(subscriber, {id, .....}).

3. 与SQL对应的语句
查询表中所有的记录数:
select(*) from Tab;
Mnesia中
mnesia:table_info(Tab, size)
Dets中
dets:info(Tab, size)

你可能感兴趣的:(数据结构,sql,虚拟机,erlang,活动)