直接来代码
%% 用到qlc的时候要导入这个东西!!!!!
-include_lib("stdlib/include/qlc.hrl").
% 普通表,用于测试dirty读写
-record(row1,{id = 0, a1 = 0, a2 = 0}).
% 普通表,用于测试transaction读写
-record(row2,{id = 0, a1 = 0, a2 = 0}).
% 内存表,用于测试dirty读写
-record(row3,{id = 0, a1 = 0, a2 = 0}).
% 内存表,用于测试transaction读写
-record(row4,{id = 0, a1 = 0, a2 = 0}).
% 初始化mnesia数据库
init() ->
mnesia:create_schema([node()]),
mnesia:start(),
%建立row1表,是普通表,用于测试dirty读写
mnesia:create_table(row1, [{disc_only_copies, [node()]},
{attributes, record_info(fields, row1)}]),
%建立row2表,是普通表,用于测试transaction读写
mnesia:create_table(row2, [{disc_only_copies, [node()]},
{attributes, record_info(fields, row2)}]),
%建立row3表,是内存表,用于测试dirty读写
mnesia:create_table(row3, [{attributes, record_info(fields, row3)}]),
%建立row4表,是内存表,用于测试transaction读写
mnesia:create_table(row4, [{attributes, record_info(fields, row4)}]),
ok.
Erlang数据库Mnesia操作详解

本文介绍了Erlang数据库Mnesia的操作,强调了脏操作(dirty)的无锁特性及内存表的速度优势,指出它们比普通表和使用transaction事务更快。详情可参阅相关链接。
最低0.47元/天 解锁文章
324

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



