我目前有一個相當大的數據庫(約250米文件)的MongoDB設置。目前,我有一個主要集合,其中大部分數據都具有單一索引(時間)。只有時間位於查詢的where部分(使用索引)時,這會導致可接受的查詢時間。MongoDB查詢子集
問題是當我需要使用複合鍵 - 時間索引使用大約2.5GB的內存,並且我只有4GB的服務器,所以我不想創建複合鍵索引,因爲那樣會阻止所有索引適應內存,從而使事情減慢很多。
所以我的問題是這樣的:我可以先查詢時間,然後查詢其他變量的子集?
我應該指出我正在使用Ruby驅動程序。
此刻,我的查詢看起來是這樣的(這是很慢):
trade_stop_loss_time = ticks.find_one({
"time" => { "$gt" => trade_time_open, "$lte" => trade_time_close },
"bid" => { "$lte" => stop_loss_price }
}).sort({"time" => 1})
謝謝!