如何解决索引太大影响查询性能的问题


  • 註冊用戶

    众所周知,建立索引的目的是为了提高数据库的查询效率,但如果实际应用中索引太大就不能全部保存在内存中,移到磁盘文件上又会影响查询性能,想请教有经验的前辈这个问题该如何解决,谢谢~~~~


  • Lv 1

    @Silence_wen

    MongoDB的WiredTiger引擎將內存分為兩部分:

    1.內部緩存(Internal Cache)   - 數據未經壓縮,存取快速,一般預設為內存的60%或是1G 

    2. 文件系統緩存(Filesystem Cache) - 資料會壓縮,查詢稍慢,比較消耗CPU

    如果內存(Internal Cache)無法放完整個索引,則可以考慮調小,讓壓縮後的索引可以放到變大的Filesystem Cache中,

    這樣查詢仍然可以使用索引,只是中間多了一層解壓縮的動作,稍慢且CPU使用率會上升~


  • Lv 1

    一個表如果經過很多次修改後,導致表的檔產生空洞,索引檔也是
    可以通過索引的重建來提高索引的效率


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待