MongoDB将日期与时间作为复合索引的一部分

时间:2016-03-06 00:43:53

标签: mongodb indexing

你好我在db中有这样的对象:

{ "_id" : ObjectId("56d9fc68bb9dcdcc9f73e6b7"), "ApplicationId" : 9, "CreatedDateUtc" : ISODate("2016-01-01T21:26:57.116Z"), "Message" : "yolo", "EventType" : 4 }

我将按ApplicationIdCreatedDateUtc(可选EventType)字段进行搜索,因此我创建了一个复合索引(我保持id字段的defult索引完整):

{
     "v" : 1,
     "key" : {
             "ApplicationId" : 1,
             "CreatedDateUtc" : -1
     },
     "name" : "ApplicationId_1_CreatedDateUtc_-1",
     "ns" : "test.testLogs"
}

使用几乎每次(日期)都是唯一的字段作为索引的一部分是一个好主意吗?如果我得到整个索引的想法,那么这种方法会使索引变得臃肿,这使得更难以快速找到东西。我对么? 有770k条目我有~19MB索引。我不知道它是不是很大,但似乎很大。

> db.testLogs.count()
770999
> db.testLogs.totalIndexSize()
18952192

我正在考虑为每小时创建一个独特的字段(可能是分钟和小东西的日期),并将其用于索引。有更好的想法吗?

0 个答案:

没有答案