我想检查一下我是否计划使用“erlang record”存储能力作为无模式商店,我会有什么样的性能影响。
更清楚:
我需要有桌子:人,年龄,性别,{其他属性,婚姻状况,孩子的数量....} 关于人的信息可能具有不同的属性。例如:如果婚姻状况未婚,我就不会有相应人的属性数量。
表人员应该有不同数量的coloumns。因为Mnesia是基于模式的,所以考虑使用像:
这样的表人,年龄,性别,属性是[键值对属性]列表的属性。 有这样的架构是个好主意吗?
查询可以进行哪种查询优化,例如: 获取所有“孩子数= 2”的人。
查询响应时间影响是否与表中的记录数和每个属性列表中的属性数成线性关系?
答案 0 :(得分:0)
Mnesia可能不适合你想要做的事情。原则上,列/记录字段是固定的。通常会包含您描述的额外属性的键值列表,但这意味着您无法有效地查询这些额外字段:每个查询都需要遍历整个表,复制每个记录并检查它是否符合条件
查询响应时间影响是否与表中的记录数和每个属性列表中的属性数成线性关系?
是