例如,这是一条记录:
testTime
testTime
是ISODate,Mongodb查询{
"_id" : ObjectId("576bc7a48114a14b47920d60"),
"id" : "TEST0001",
"testTime" : "2016-06-23 11:28:06"
}
的记录是否比这更快? :
{{1}}
答案 0 :(得分:2)
是的。
产生的差异是因为日期对象存储为dateTime对象中的数字。
要理解这一点,我们可以采用这种说法:
如果对dateTime
提交了查询并且dateTime
存储在数字对象中,则表示我们对数字进行了比较。 Mongo将比较具有相同对象的64位(8字节)see here大小的对象。
比较字符串时,mongo加载如下字符串:2016-06-27T08:39:44.000
这是23个字符* 2字节(utf)=>在内存中比较46个字节,需要检查从最高到最低的所有字节..
现在,您知道为什么使用dateObject而不是string更快的答案。
欢迎任何评论!
比较/排序顺序