对于Mongo来说哪个更好:空场还是没有场?

时间:2013-07-02 06:09:56

标签: mongodb

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

10倍!

2 个答案:

答案 0 :(得分:4)

字段将占用密钥的磁盘空间,即使没有值,因此最好不要包含它们;除非你需要找到哪些文件不包含这样的字段/包含空字段

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

答案 1 :(得分:0)

这取决于。

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

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