554430
背景:Node Server 下; MongoDB,版本是 4.0 v,有个集合有 1亿 条数据;现在只考虑查询问题;相关的索引也加上了; 描述:当然这不是真的是一个查询“慢加载”的问题。根据记录,查询该集合时,首次 查询很慢,根据记录大概是 60s 左右,然后在短时间内换查询条件什么都是返回很快的,根据记录大概在 5s 左右;我查询了一些资料,默认是 WiredTiger 存储引擎,而机器文件系统缓存内存应该是够用的;根据网友的描述:
MongoDB要把数据加载到内存中,首先要从磁盘上读取原始的文件,那么文件内容就会进入filesystem cache. 然后要把文件内容转换为WiredTiger可以直接使用的格式,即解压,解密,之后的内容才会进到internal cache。所以一定要说先后顺序的话,internal cache中的内容肯定来自filesystem cache,后者先加载。
问题:在不拆表的情况下,有什么好的办法能解决**首次“慢加载”**的问题 ? 补充:当然说到索引的问题是有点崩溃的,因为数据较大,暂时还没去优化,目前有7个索引,2个复合索引,4个单字段索引,1个多key索引,暂时没有想到优化的地方;表字段名也都是较为精简的。 这一块知识有点盲 - -! 敬请大家用力吐槽,非常感谢!