MongoDB -扫描索引是否需要首先从磁盘检索索引?

2ul0zpep  于 2023-01-30  发布在  Go
关注(0)|答案(1)|浏览(119)

1.索引是否始终存在于RAM中?
1.因此,扫描索引是否需要首先从磁盘检索索引?
编辑日期:
我的问题更多的是关于MongoDB是否总是将索引保存在RAM上,假设有足够的空间。因为如果实际数据不是最近的,它们就会被从RAM中推出来,为最近访问的数据腾出空间。索引也是这样吗?索引是否会根据最近的时间被推出来?或者MongoDB是否优先处理索引,如果有足够的空间,就总是将其保存在RAM中?

e3bfsja2

e3bfsja21#

这一点无法保证。
MongoDB确实将索引存储在与文档相同的缓存中,这确实驱逐了LRU。
它不将整个结构加载到内存中,而是在需要时加载页,因此内存中索引的数量将取决于访问索引的方式。
索引确实有一定的优先级,但这不是绝对的,因此索引页可以被逐出。
对集合的插入可能需要更新所有索引,因此可以合理地假设,任何不完全空闲的集合都至少该高速缓存中具有每个索引的根页。

相关问题