做了个小实验,比较了一下mongo联合索引和单独索引的查询效率。

新建两张一模一样mongo表clA和clB,插入相同的数据:

mongo联合索引和单独索引的查询效率比较

mongo联合索引和单独索引的查询效率比较

说明:

1、tagId的变化范围从91000到91449,readTime是从“2017-07-06”到“2018-03-08”,day是readTime的日期简化(增加此字段是为了给时间加一个索引,加快指定时间范围的查询)

2、clA添加一个联合索引:{tagId:1, day:1}

3、clB添加两个单独索引:{tagId:1}和{day:1}

4、为每个表插入相同的数据2337000条

使用explain()函数进行分析,可明显看出使用联合索引效率更高

mongo联合索引和单独索引的查询效率比较

当然以上结论是针对上述特定业务需求及数据特点得出的结论,实际项目中还是要根据查询需求和数据特点使用更合适的索引。过多的索引会给数据库增加更多的负担,本项目中为了给表(前8个月2.2亿条数据,后期数据量会更大)建合适的索引,做了一个小规模测试。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
  • 2020-02-26
  • 2021-12-20
  • 2021-08-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-10-03
  • 2022-01-01
  • 2022-12-23
相关资源
相似解决方案