UUID和自增列的优缺点

来源:互联网 发布:centos ftp客户端命令 编辑:程序博客网 时间:2024/05/23 19:13
 

  在数据库的设计中,主键的生成策略是一个很值得研究的问题。通常,我们经常会用到INT自增,UUID这两种主键生成策略。今天我就来对这两中种做一个大致的区分总结,以及怎么样更灵活的使用。


使用INT做主键的优点:  

    1、需要很小的数据存储空间,仅仅需要4 byte 

    2insertupdate操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。

    3indexJoin 操作,int的性能最好。

    4、容易记忆。

    5、支持通过函数获取最新的值,如:Scope_Indentity() 

使用INT做主键的缺点

    1、如果经常有合并表的操作,就可能会出现主键重复的情况。

    2、使用INT数据范围有限制。如果存在大量的数据,可能会超出INT的取值范围。

    3、很难处理分布式存储的数据表。

使用UUID做主键的优点

      能够保证独立性,程序可以在不同的数据库间迁移,效果不受影响。 
     保证生成的ID不仅是表独立的,而且是库独立的,这点在你想切分数据库的时候尤为重要。

使用UUID做主键的优点
 
     比较占地方,和INT类型相比,存储一个UUID要花费更多的空间。 
     使用UUID后,URL显得冗长,不够友好。

 

UUID+TableCode

        以上说了UUIDINT自增的优缺点,他们总会有一些各自的好处和坏处。那么在进行一些多数据表设计的时候,比如多张表,多字段。很容易是我们看起来结构混乱。如果我们把主键做成UUID+TableCode的形式,简单的来说就是给表的列加一个编号并和UUID一起使用。那么,你就会发现表数据结构看起来就会更加的清晰明了,不会造成数据调理混乱。


0 0
原创粉丝点击