wangwang
wangwang
文章32
标签32
分类5
动态字段存储解决方案

动态字段存储解决方案

一.前言

最近遇到了一个存储动态字段的问题,根据以往的项目经验,以及查阅相关资料,记录总结一下解决方案

image-20220928201152792

二.解决方案

1.列模型

建表时预留一些空白字段

image-20220928201200999

2.行模型

将动态字段以key-value形式存储到表中,然后通过id关联到业务上

image-20220928201211674

3.EAV模型

EAV模型,就是把实体-属性-值(Entity-Attribute-Value)分开表进行存储。实体表存储对象的ID和主要属性,属性表存储需要扩展的属性,值表由不同类型的表组成一个集合,一个值需要由实体ID+属性ID来确定。

image-20220928201230970

4.JSON模型

直接将所有字段以json格式进行存储,增删改查逻辑有代码层面实现

image-20220928201241016

总结

不同的方案各有优劣,根据实际情况进行取舍!

本文作者:wangwang
本文链接:https://www.wangwangit.com/%E5%8A%A8%E6%80%81%E5%AD%97%E6%AE%B5%E5%AD%98%E5%82%A8/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可