码迷,mamicode.com
首页 > 其他好文 > 详细

主键增长策略

时间:2015-10-31 01:43:25      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:主键增长策略

  1. increment  

    每次自增,适合所有数据库,但是不要使用在多线程,主键类型是数值型。

  2. identity  

    每次自增,适用于支持identity的数据库(mysql,sql server),主键类型是数值类型。

  3. sequence

     每次自增,适用于long,short,int类型。

  4. native

    native生成器能根据底层数据库系统的类型,自动选择合适的标识符生成器,适合于跨数据库平台。使用 identity,sequence,hilo,主键类型是数值型。

  5. hilo

    高低位算法生成器,按照一种high/low算法生成标识符。

  6. uuid

    用一个128-bit的UUID算法生成字符串类型的标识符,使用了网络中的IP地址生成唯一。主键属性类型不能是数值型。

  7. assigned

    用户自己设置主键值,主键类型可以是数值,字符型。

  8. 映射复合主键

  9. 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!