数据库字段动态扩展

在做项目的时候,发现刚刚开始设计的数据库表,到了后期需求的变更,会增加其属性字段,由此涉及到数据库字段动态扩展。

有几种方法:



1. 动态添加属性字段。
    需要时,添加需要的属性时。显然这种方式不利于灵活扩展,而且在一张大表添加一个字段需要较长时间,这也不适合7*24的服务。

2. 先预留字段,到时再用。
    就是先给表定义几个扩展字段,以商品表为例。给product添加field1,field2,field3三个varchar(200)类型的字段,这样任何数据类型都可以解析为字符串,把编码后的数据存进去就行了。
    它的缺点是字段是公用的,不能顾名思义,得先查对应关系。另外扩展字段的数量无法精确定义,也存在数据量大时添加字段卡顿的风险。

3. JSON 格式保存。
    把需扩展的一组字段都到到一个字段里,各个字段用json的方式组成一个大的字符串。这种方式,添加、修改、删除问题都不大,但查询不方便,比如要查询的时候,就要遍历所有数据才行。如果有复杂查询,比如group by ***,这将更麻烦。所以这种方式只能用于数据量很少的方式,比如就10行数据,且没有复杂查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值