在 MongoDb 中 - 如果我的字段并不总是包含值 - 这是更好的做法:在所有记录中保留相同的字段,即使有时这些字段为空或根本不创建这些字段?
10倍!
字段会为键占用磁盘空间,即使没有值,最好不要包含它们;除非您需要查找哪些文件不包含此类字段/包含空字段
MongoDB 是无模式的,集合中的每个文档都可以有不同的字段,只要这对您的应用程序有意义。
这取决于。
您以后需要这些字段吗?如果是这样,那么它们的创建和后续使用可能会导致碎片,而使用 a 或默认值预先分配字段null
将有助于防止这种情况。
确实,由于当前版本的 MongoDB 中缺乏压缩,字段名称可能会占用文档磁盘空间的 3 倍(已经注意到这将很快改变),但是,有时这被夸大了。如果差异是一个字段,那么它可能不超过几个字节,即使有些人可能会说你会注意到……当你在那里有一个真实的数据集时,你实际上不会。