数据库表设计

Q: 如何在开发后期修改表结构对现有程序影响最小

1. 表设计是预留一个无任何业务意义的字段,比如userFiled1,userField2,....方便以后与具体业务字段映射。 

 

2. 设计一个特殊的字段存放XML文件,XML文件中存放自定义的结构,方便系统扩充。存取是需要解析XML字符串

 

3. 通过象Hibernate这种物理表结构和对象逻辑结构的映射。修改发生在物理表结构和hibernate mapping 文中

 

4. 在java类中,用不可变的字符串定义了表名和字段名。如       

    public const String CUSTOMERS_TABLE = "Customers";
    public const String EMAIL_FIELD     = "Email";
    public const String NAME_FIELD      = "Name";
    这样修改只发生在少量的地方。
Q:如何提高性能
1. 为特殊的业务需求,比如支付平台的reconciliation和settlement,建一张影子表(比如paymentShadow),冗余其他相关表的字段。通过这种手段减少关联查询提高效率。
2. 不设外键甚至主键,这种方式有点像No SQL的方式,但确实在商业应用系统中碰到过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值