咨询大佬们一个关于 mongodb 的性能优化问题

29次阅读

共计 267 个字符,预计需要花费 1 分钟才能阅读完成。

mongodb 中一个文档里有个 N 个小字段和 2 个大字段。大字段存储 base64 的图片和其他长文本内容。
在一个频繁差的查询中,我不会查询大字段,只会查询小字段,索引也只在小字段。大字段会有单独的查询使用 _id 去查询。

然后我发现数据量大了之后,mongodb 的整体查询速度变慢了,即使我没有查询大字段,速度依然变慢了。
请问,

  1. 我需要把大字段单独拆到一个 collection 才可以吗?
  2. 大字段我必须要换成 gridfs 来读写吗?历史数据又如何迁移呢?
  3. 如果大字段拆走了,我该如何做全文搜索呢(需要搜索长文本大字段,不搜索 base64 图片)?

谢谢大佬们

正文完
 0