6

在 MongoDb 中 - 如果我的字段并不总是包含值 - 这是更好的做法:在所有记录中保留相同的字段,即使有时这些字段为空或根本不创建这些字段?

10倍!

4

2 回答 2

4

字段会为键占用磁盘空间,即使没有值,最好不要包含它们;除非您需要查找哪些文件不包含此类字段/包含空字段

MongoDB 是无模式的,集合中的每个文档都可以有不同的字段,只要这对您的应用程序有意义。

于 2013-07-02T06:13:22.597 回答
0

这取决于。

您以后需要这些字段吗?如果是这样,那么它们的创建和后续使用可能会导致碎片,而使用 a 或默认值预先分配字段null将有助于防止这种情况。

确实,由于当前版本的 MongoDB 中缺乏压缩,字段名称可能会占用文档磁盘空间的 3 倍(已经注意到这将很快改变),但是,有时这被夸大了。如果差异是一个字段,那么它可能不超过几个字节,即使有些人可能会说你会注意到……当你在那里有一个真实的数据集时,你实际上不会。

于 2013-07-02T07:12:53.010 回答