一个应用程序要建立最适合的索引必须考虑许多因素包括:预期的查询类型、读取与写入的比率以及系统的可用内存大小等。
在制定索引策略时,用户应该对应用程序的查询有深刻的了解。
在构建索引之前,首先要估计需要运行的查询的类型,这样可以对查询引用的字段构建索引。索引会带来性能成本,但对于大型数据集的频繁查询而言,索引消耗的这些性能是值得的,因为索引能够使查询速度更快。考虑应用程序中每个查询的相对频率以及查询是否使用索引。
设计索引的最佳总体策略是使用与项目将在生产环境中运行的数据集相似的数据集来分析各种索引配置,以查看哪种配置效果最佳。检查集合的当前索引,以确保索引能够支持当前和未来的查询。
如果索引不再使用了,请删除该索引。
接下来的几片文章我们将介绍索引策略:
- 创建索引,支持查询
当索引包含该查询扫描的所有字段时,该索引就支持该查询。创建支持查询的索引可以大大提高查询性能。
- 使用索引,结果排序
查询时,需要指定索引字段的顺序和排序时,请使该策略。
- 确保索引,足够RAM
当索引有足够的RAM时,系统可以避免从磁盘读取索引,从而获得最快的处理速度。
- 创建查询,保证选择
选择是查询使用索引缩小结果范围的能力。选择允许MongoDB将索引用于与实现查询相关的大部分工作。