全局表数据库
所谓全局表,就是有可能系统中全部模块均可能会依赖到的一些表。比较相似咱们理解的“数据字典”。为了不跨库join查询,咱们能够将这类表在其余每一个数据库中均保存一份。同时,这类数据一般也不多发生修改(甚至几乎不会),因此也不用太担忧“一致性”问题。性能
字段冗余设计
这是一种典型的反范式设计,在互联网行业中比较常见,一般是为了性能来避免join查询。同步
举个电商业务中很简单的场景:电商
“订单表”中保存“卖家Id”的同时,将卖家的“Name”字段也冗余,这样查询订单详情的时候就不须要再去查询“卖家用户表”。互联网
字段冗余能带来便利,是一种“空间换时间”的体现。但其适用场景也比较有限,比较适合依赖字段较少的状况。最复杂的仍是数据一致性问题,这点很难保证,能够借助数据库中的触发器或者在业务代码层面去保证。固然,也须要结合实际业务场景来看一致性的要求。就像上面例子,若是卖家修改了Name以后,是否须要在订单信息中同步更新呢?数据