最近在學習使用mongodb,發現它內存佔用厲害,網上搜索了一下發現很多都利用use admin;db.runCommand({closeAllDatabases:1})來清除內存,我在3.0中發現沒有該命令,
是3.0中取消了該命令還是我的打開的方法不對,查看了一下手冊也沒有發現類似的替代命令,請問最新版本中還有該命令麼?如果有的話,該怎麼使用呢?
PHP中文网2017-04-26 09:03:54
最近也在學習mongodb,推薦你個mongodb學習資料http://www.hubwiz.com/course/54bdfcb188dba012b4b95c9c/
怪我咯2017-04-26 09:03:54
很多人覺得資料庫佔用記憶體多有問題,其實這根本不是一個問題,不需要解決。
首先,資料庫的首要任務是管理數據,如何更快提供資料查詢是所有資料庫需要解決的問題。而各家的解決方案幾乎是一致的,無論是SQLServer,MySQL,MongoDB,無一例外地用空間換效率。通俗地講,都是盡可能多地使用內存,把所有有用的東西(索引,數據等)盡量加載到內存以提高運行速度。所以,這絕對不是一個Bug,而是期望行為。反過來想,如果一個資料庫為了節省記憶體而運行緩慢,這就違背一個資料庫的基本宗旨了。
搞清楚了這一點,再來看你的問題。
參考資料:
Does MongoDB require a lot of RAM?
How do you empty the buffers and cache on a Linux system?