|
因为我不是纯oracle选手,虽然oracle的sequence非常优秀,但是依然有一些问题不能解决
比如移植数据库后的适应问题,移植到mysql,自己写个类似sequence的东西,但是实际可能会因为高并发出问题(应该没有彻底解决方案);
框架中,如果主键类型不一致,可能导致框架写起来费劲。
不加主键的方式或者用业务主键代替的方式,都可以,但是不通用。
因此我的习惯是:
1、统一所有主键,不使用组合主键;
2、绝大多数用GUID(UUID)而且我用36位char(因为java、php、C#等默认生成的都是36位的);
3、如果不涉及到数据移植和数据同步的,我也可能选择用自增主键(oracle自然是sequence);
4、如果仅提供数据服务,不需要服务层写代码,我可以接受不用主键或者用业务主键(比如身份证号主键);
|
|