### 问题描述
业务越来越多,订单表字段会很多
### 问题出现的环境背景及自己尝试过哪些方法
目前是使用单表加详情表,使用订单类型区分不同的业务
### 相关代码
### 你期待的结果是什么?实际看到的错误信息又是什么?
数据库怎么设计比较好!
### 问题描述
业务越来越多,订单表字段会很多
### 问题出现的环境背景及自己尝试过哪些方法
目前是使用单表加详情表,使用订单类型区分不同的业务
### 相关代码
### 你期待的结果是什么?实际看到的错误信息又是什么?
数据库怎么设计比较好!
现在成熟的开源电商系统已有不少了,为什么要自己设计?
参考一下magento,它用的是EAV模型,这是一套可以自由给数据对象扩展属性的模型,magento对产品与订单数据是可以随时追加属性的。就算你不用magento,你也可以引入magento core来使用EAV模型。自己写代码实现肯定是不够成熟的,以后只会问题多多。
不是小看EAV模型,订单的属性扩展并不是一个调整表结构就能满足的问题,要考虑的东西是很多的。例如订单可扩展属性要考虑到各种数据类型;是否支持多值;是否有多语言多站点的分层分级;是否要对各种不同的管理角色区别管理,例如跟单员可以只更新订单某几个属性;每个属性的更新是否有版本控制与记录,例如某个退单员什么时候改过这个属性,要撤回修改怎么办?
PostgreSql
比 Mysql
更能处理复杂业务类型和表(更丰富的预定义数据类型和可扩展的自定义数据类型),资金充足可以上DB2
或者Oracle
仅个人观点,望有益题主
15 回答8.4k 阅读
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
合理的分表,根据自己的业务需要拆分,比如一个订单的表结构是这样的,可以将其拆分为多个表,各个字表与主表之间通过ID关联