2012-11-18 43 views
21

我想在MongoDB集合中存储枚举值。我能否将它们有效地存储为字符串?与枚举值相比,它会影响索引性能吗? Mongo索引器是否在字符串值仅包含少量固定选项的情况下优化字符串索引,以达到类似于通过排序整数查询索引的速度?在MongoDB中枚举

回答

20

在MongoDB中将枚举值存储为字符串是完全正确的,如果您将该字段编入索引,我希望该性能与索引整数查询相当。它的确比使用整数更有表现力。

唯一真正的缺点是,如果你的枚举字符串有点长,它们会占用更多的空间,但这是一个非常微不足道的问题。

+1

有没有人做过与此相关的任何性能测量?比较字符串比比较整数要慢。这可能会影响查询以及插入和索引(重新)构建,尽管该索引显着减少了所需的比较次数。不要在没有基准的情况下对性能做出任何声明 –