【发布时间】:2013-05-03 05:32:43
【问题描述】:
我一直在阅读有关 ensureindex (Mongodb: when to call ensureIndex?)、(Pymongo / MongoDB: create index or ensure index?) 和 mongodb 的文档,但我还没有得出关于使用 ensureindex 的结论。 mongodb 不会为每个文档创建一个 Id 吗?为什么我需要另一个索引? 如果我有这样的文件:
{
"Name": "Jon Secada",
"Date of Birth": "09-19-1983",
"Address": "1 chemin des Loges",
"City": "VERSAILLES"
}
例如,在“名称”上调用 ensureindex 有什么好处?
【问题讨论】:
-
name的高效搜索。 -
我应该只选择一个键作为我的索引吗?我最常用于搜索的那个?
-
不,为什么?索引所有需要性能的查询。但是不要索引所有内容,索引有其成本(磁盘/RAM使用,写入性能下降)。衡量、计算和决定。
-
我要补充一点是创建索引的成本是较慢的记录插入和额外的内存和磁盘空间消耗。一般来说,您确实希望常见用例的索引能够提高效率,但需要平衡成本。
标签: mongodb