2014-01-17 31 views
0

我想检查一下我是否打算使用“erlang record”存储能力作为无模式存储,会对我产生怎样的性能影响。关于以无模式方式组织数据的建议

更清晰:

我需要有表:人,年龄,性别,{其他属性,婚姻状况,childeren数....} 关于人的有关信息可能会具有不同的属性。例如:如果婚姻状况未婚,我就不会有儿童的属性号码供相对人使用。

表人员应该有不同数量的coloumns。因为Mnesia是基于模式的,所以想要像下面这样的表:

人,年龄,性别,属性是[键值对性能]列表的属性。 拥有这样的模式是否好主意?

什么样的查询优化可以用于查询,如: 获取“Number of children = 2”的所有人。

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

回答

0

Mnesia可能不适合你想要做的事情。原则上,列/记录字段是固定的。在描述中包含额外属性的键值列表通常是可行的,但这意味着您无法在这些额外字段上进行有效查询:每个查询需要遍历整个表格,复制每条记录并检查它是否符合条件。

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

是。