Erlang 17 推荐使用map替换记录,但是如何让mnesia支持map呢?

kev*_*vin 3 erlang map

在乔的“Erlang 的重大变化”中 http://joearms.github.io/2014/02/01/big-changes-to-erlang.html

“我们希望地图能够替代记录并与记录一样高效,而且如何做到这一点并不明显。”

如何在mnesia中将记录转换为地图?

rvi*_*ing 5

Mnesia 在内部使用 ETS(和 dets),它们基于元组作为基本数据结构。虽然它们可以在顶层包含映射,但它必须是元组。由于记录是元组,记录也可以位于顶层。重新设计 ets/dets/mnesia 以使用地图将是一项重大努力。

由于地图访问是动态完成的,而记录是静态完成的,因此可能无法像记录一样快速地获取地图。