文章目录
MongoDB 索引管理
索引能显著减少获取文档所需的工作量。没有合适的索引,实现查询的唯一途径就是线性扫描整个文档,直到满足查询条件为止。这通常就是扫描整个集合。
索引对良好的查询性能来说是必不可少的,但每个新索引都会带来一些小的维护成本。其原因是显而易见的,每当向集合添加文档时,都必须修改集合上的所有索引,以加入新的文档。因此,如果一个集合上有10个索引,每次插入时就都要做10次独立的结构修改。对于所有写操作都是如此,无论是删除文档还是更新指定文档的索引键。
对于读密集型应用而言,索引的成本一般都是合理的,你只要认识到索引还是会引入一定开销,必须谨慎选择即可。这意味着确保所有索引都被用到,没有一个索引是多余的。可以在剖析应用程序的查询时部分落实这项工作。
就算拥有正确的索引,还是有可能得不到快速的查询,索引和数据集无法全部放入内存时就会发生这种情况。
使用了忽略大小写的选项就无法在查询中使用索引,就算是在前缀匹配时也是如此。
1. 查询索引
1. 查询指定集合的索引键
# 示例1:查询指定库中指定集合testCollection的索引键
切换到test库: