一.前言
最近遇到了一个存储动态字段的问题,根据以往的项目经验,以及查阅相关资料,记录总结一下解决方案
二.解决方案
1.列模型
建表时预留一些空白字段
2.行模型
将动态字段以key-value形式存储到表中,然后通过id关联到业务上
3.EAV模型
EAV模型,就是把实体-属性-值(Entity-Attribute-Value)分开表进行存储。实体表存储对象的ID和主要属性,属性表存储需要扩展的属性,值表由不同类型的表组成一个集合,一个值需要由实体ID+属性ID来确定。
4.JSON模型
直接将所有字段以json格式进行存储,增删改查逻辑有代码层面实现
总结
不同的方案各有优劣,根据实际情况进行取舍!