0

我想检查我是否打算将“erlang 记录”存储能力用作无模式存储,我会产生什么样的性能影响。

更清楚:

我需要有表:人,年龄,性别,{其他属性,婚姻状况,孩子人数....}有关人的信息可能带有不同的属性。例如:如果婚姻状况是未婚,我将没有对应人的孩子属性数。

表人应该有不同数量的列。由于 Mnesia 是基于模式的,因此正在考虑使用如下表:

person,age,gender,Attributes 其中属性是 [键值对属性] 的列表。有这样的模式是个好主意吗?

查询可以进行什么样的查询优化,例如:获取所有具有“孩子数 = 2”的人。

查询响应时间影响是否与表中的记录数和每个属性列表中的属性数成线性关系?

4

1 回答 1

0

Mnesia 可能不是最适合您尝试做的事情。原则上,列/记录字段是固定的。通常会包含您描述的额外属性的键值列表,但这意味着您无法有效地查询那些额外的字段:每个查询都需要遍历整个表,复制每条记录并检查它是否满足条件.

查询响应时间影响是否与表中的记录数和每个属性列表中的属性数成线性关系?

是的。

于 2014-01-17T13:40:37.043 回答