搜尋

首頁  >  問答  >  主體

mongodb - mongo的sort排序問題

最近用了mongo,發現個問題,某個集合裡,文檔物件裡有個ctime字段,是MongoDate類型的,我做這樣的查詢db.find().sort({'ctime':-1}) .limit(10),發現是全表掃描了一遍,要想快除非建個{'ctime':-1}的索引

但是用mysql的時候,ctime不建索引,掃描數量也不會很高,因為對資料庫底層不是很了解,希望有大神可以指點一下,或者也許是我mongo使用錯誤,下面是mysql的詳情

过去多啦不再A梦过去多啦不再A梦2761 天前813

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-28 09:08:02

    要想不掃描全表,索引當然是必須的,不然怎麼知道其他資料裡的ctime就一定不大於找出來的那幾條資料呢。至於MySQL裡,你怎麼就知道它沒有掃描全表呢? MySQL是的資料儲存是緊密的,它掃描的速度要比Mongo快很多,所有在無索引的情況下MySQL很佔優勢。

    Mongo的一大優點在於查詢方式豐富,而要展現Mongo這項特點,合理必要的索引是不可或缺的。

    回覆
    0
  • 取消回覆