刚从mysql转入mongodb,有很多设计思想还停留在mysql上,想跟大神请教如下几个问题
1、在mysql的设计里,为了提高查询性能,一般会对大字段,进行分表设计
比如文章表会包含如下字段
id:文章id
title:文章标题
author:文章作者
content:文章内容,由于这个字段比较大,会影响批量查询效率,在mysql设计里,一般会单独建一个表来存储content字段,通过文章id来建立关联关系。在mongodb是否要遵循这个设计呢?
create_time:文章发布时间
2、字段比较多的表,比如user表,可能有将近上百个字段,在mysql里,也要对user进行拆分,将经常被查询的放一个表,不经常查询的放另外一个表,以提升查询性能。请问在mongodb里是否也要这样设计?
3、字段名是不是越短越好?还是长短跟性能、存储无关?
可以这样设计。
1.mongoDb本身就支持大对象的集合数据存储,数据量也不小,文章内容可以放在一张表里存储。
2.大几十甚至上百个字段,基于数据库设计规范都应该拆开多个表存储。
3.字段名长度无影响,至少不要过分的长,不然看起来也费劲。
1&2、在mysql的设计里,为了提高查询性能,一般会对大字段,进行分表设计
只要不是多到离谱的情况, 可以不用拆, 查询的时候不要吧整个doc查出来就可以了. doc 限制16MB大小, 应该没有啥能超过他.
具体的限制请查看文档: 单个doc限制大小, 字段长度, 嵌套深度等
https://docs.mongodb.com/manual/reference/limits/