在mysql中可以把UUID作为逻辑主键,物理主键依然使用自增ID 1、UUID定义 UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。
Mysql 用UUID做主键可行么
1.作主键没问题,且能确保唯一性;
2.字节数有点过长,还是自增序列优势明显,特别是MySQL 5.1.*系列开始,主要改进acto_increment加锁释放的问题;
3.分InnoDB,还是MyISAM,若是InnoDB引擎,强烈反对,因为其是索引组织表,创建的每个非簇索引,都会带上主键的,这样占用存储空间更大,需要消耗更多内存和IO;
4.UUID还有一个好处,就是出现数据拆分存储的时候,能达到全局的唯一性,而自增序列需要通过另外2个参数辅助,若是同一实例上就无能为力;2015-12-15
在mysql中可以把UUID作为逻辑主键,物理主键依然使用自增ID
1、UUID定义
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
2、UUID优点
1) 能够保证独立性,程序可以在不同的数据库间迁移,效果不受影响。
2) 保证生成的ID不仅是表独立的,而且是库独立的,这点在你想切分数据库的时候尤为重要。
3) 在oracle做数据迁移的时候不会因为表的sequence不连续而出现问题
3、UUID缺点
1) 比较占地方,和INT类型相比,存储一个UUID要花费更多的空间。
2) 使用UUID后,URL显得冗长,不够友好。2016-01-15