MongoDB中的枚举

art*_*tch 25 indexing enums mongodb

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

Joh*_*yHK 25

将MongoDB中的枚举值存储为字符串是完全正常的,是的,如果您对该字段建立索引,我希望该性能与索引整数查询相当.它肯定比使用整数更具表现力.

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

  • 有没有人做过与此相关的性能评估?比较字符串比比较整数要慢。尽管索引确实会大大减少所需的比较次数,但这可能会影响查询以及插入和索引(重新)构建。没有基准就不要对性能提出任何要求。 (3认同)