1.自增主键,在mysql中应用最广泛。

优点:
        1>需要很小的数据存储空间,仅仅需要4 byte。(bigint类型,是8 byte)

   2>insert和update操作时使用INT的性能比UUID好,所以使用int将会提高应用程序的性能。

        3>index和Join操作,int的性能最好。

        4>容易记忆。

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

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

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

2。UUID

优点:
        1>能够保证独立性,程序可以在不同的数据库间迁移,效果不受影响。
        2>保证生成的ID不仅是表独立的,而且是库独立的,这点在你想切分数据库的时候尤为重要。
缺点:
        1>比较占地方,和INT类型相比,存储一个UUID要花费更多的空间。
        2>使用UUID后,URL显得冗长,不够友好。

        3>没有内置的函数获取最新产生的UUID主键。

        4>很难记忆。Join操作性能比int要低。

        5>UUID做主键将会添加到表上的其他索引中,因此会降低性能。

 

生命不息,折腾不止!