1. 程式人生 > >mongo聯合索引和單獨索引的查詢效率比較

mongo聯合索引和單獨索引的查詢效率比較

做了個小實驗,比較了一下mongo聯合索引和單獨索引的查詢效率。

新建兩張一模一樣mongo表clA和clB,插入相同的資料:



說明:

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()函式進行分析,可明顯看出使用聯合索引效率更高


當然以上結論是針對上述特定業務需求及資料特點得出的結論,實際專案中還是要根據查詢需求和資料特點使用更合適的索引。過多的索引會給資料庫增加更多的負擔,本專案中為了給表(前8個月2.2億條資料,後期資料量會更大)建合適的索引,做了一個小規模測試。