标签:主键增长策略
increment
每次自增,适合所有数据库,但是不要使用在多线程,主键类型是数值型。
identity
每次自增,适用于支持identity的数据库(mysql,sql server),主键类型是数值类型。
sequence
每次自增,适用于long,short,int类型。
native
native生成器能根据底层数据库系统的类型,自动选择合适的标识符生成器,适合于跨数据库平台。使用 identity,sequence,hilo,主键类型是数值型。
hilo
高低位算法生成器,按照一种high/low算法生成标识符。
uuid
用一个128-bit的UUID算法生成字符串类型的标识符,使用了网络中的IP地址生成唯一。主键属性类型不能是数值型。
assigned
用户自己设置主键值,主键类型可以是数值,字符型。
映射复合主键
foreign
在one-to-one中,有另一张表的主键(person)来决定自己主键/外键(IdCard)。
简单的说
Oracle:主键是int/long/short建议使用sequence
主键是string使用uuid或者assigned
mysql:主键是int/long/short建议使用increment/assigned
主键是字符串使用uuid/assigned
sql server:主键是int/long/short建议使用identity/native/assigned
主键是字符串使用uuid/assigned
one-to-one是基于主键的使用foreign
标签:主键增长策略
原文地址:http://8604681.blog.51cto.com/8594681/1708226