インデックスがある場合
page_type, our_id, date
クエリを実行すると、
db.analytics.find({page_type: 'ingredients', ga_date:
{$gte : new Date('Wed Sep 08 2010 12:00:00 GMT-0800')}})
db.analytics.find({page_type: 'ingredients', ga_date:
{$gte : new Date('Wed Sep 08 2010 12:00:00 GMT-0800')}}).explain()
が省略された場合our_id
、またはdate
省略された場合でも、explain() の出力に次のような内容でインデックスを使用できます。
"our_id" : [
[
{
"$minElement" : 1
},
{
"$maxElement" : 1
}
]
],
と の両方our_id
をdate
省略した場合でも、インデックスは引き続き使用できます。
ただし、page_type
を省略した場合は、インデックスを使用できません ( をexplain()
参照)。では、MongoDB では、インデックスの一部が数値や日付などのシーケンスの一部である場合、クエリ時に省略できるというのは本当ですか? これはリレーショナル DB にも当てはまりますか?そのインデックスがこれらの 3 つのフィールドに基づいている場合、厳密には 3 つのフィールドに基づいている可能性があると思います。