1
wellsc 2021-06-16 16:51:10 +08:00 via iPhone
索引?
|
3
TomVista 2021-06-16 16:54:50 +08:00
容我先笑一会儿,
如果不依赖 json 结构,不对这 7m 进行数据库操作,可以存成字符串,然后拿出来进行 json 格式化 如果依赖数据库操作的话,建议单独拆分成 collection |
4
shd 2021-06-16 16:55:37 +08:00
内网吗 带宽多少。
|
8
youngce 2021-06-16 17:05:08 +08:00
问题是也不知道你是怎么查的,直接_id 查找要 5S 以上?
还是你在 7M 的内容里查找。。。 |
9
Mithril 2021-06-16 17:09:43 +08:00
虽说 MongoDB 是存 JSON 的,但人家存的是你需要索引的 JSON 啊。。。你这 7M 的 JSON 不会所有 field 都要索引吧。。
需要索引的摘出来当 JSON 存,然后把这 7M 的东西直接当二进制文件扔进去,找个地方存个关联就行了。 或者你也可以把这 7M 的 JSON 直接当字符串存进去,不要索引。 |
10
clf 2021-06-16 17:14:42 +08:00 1
你 json 的大致结构呢?然后搜索条件是啥?竟然还用到索引了……
mongo 设计的时候建议采用这样的模式: 1.频繁搜索的条件字段丢关系数据库,只用于存储的数据放在 mongo 里,关系数据库采用 id 和 mongo 连接。 2.如果没有关系数据库,也是同样的拆成两个集合。 比如说你的 7M json 结构是: id ObjectId field1 String field2 Long field3 String field4 String otherFields ... (占了 7M 大部分,且不用于搜索) 此时 f1-f4 是常用的搜索条件的时候,那么你的数据应该改成: collection1: id ObjectId field1 String field2 Long field3 String field4 String dataId String collection2: id ObjectId data Object MongoDB 的优势在于单条数据查询效率上,以及灵活的存储结构。虽然有索引对全集合的搜索优化,但不意味着你设计存储的时候就能随便乱来。 |