首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为啥不能用uuidMySQL主键

mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,...本篇博客的目录 mysql程序实例 使用uuid和自增id的索引结构对比 总结 一、mysql和程序实例 1.1.要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid...,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变....根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度: 注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的id:一串18位长度的...long值 id自动生成表: image.png 用户uuid表 image.png 随机主键表: image.png 1.2.光有理论不行,直接上程序,使用spring的jdbcTemplate

3.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python 如何生成uuid

每个人都可以创建与其他人不冲突(重复)的UUID,因此常用作对某一东西的唯一标识。 UUID常用作数据库的主键UUID常用作一次计算任务的唯一标识。...Python uuid Python中内置了一个名为uuid包来处理UUID生成,使用起来非常方便,它提供了生成36位uuid的方法(32位加上4个’-'号作为间隔符,如果不需要间隔符可以手动去掉)。...Python的uuid包一共提供了4中生成UUID的方法: uuid1() uuid3() uuid4() uuid5() 注:没有uuid2。...但是用这种方法生成uuid并分享泄露了自己的mac地址,因此不推荐使用。 uuid3根据传入的namespace和一个由调用者指定字符串调用MD5算法生成。...uuid5同样根据传入的namespace和一个由调用者指定字符串生成uuid,如uuid3不同的是,它使用SHA1算法。

2.6K40

为什么MySQL不推荐使用uuid作为主键

前言 在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用...关于MySQL的知识点总结了一个思维导图分享给大家 [1240] 一、mysql和程序实例 1.1.要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid,user_random_key...,分别表示自动增长的主键uuid作为主键,随机key作为主键,其它我们完全保持不变....long值 id自动生成表: [图片] 用户uuid表 [图片] 随机主键表: [1240] 1.2.光有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试: 技术框架:springboot...表写入结果: [1240] 1.4.效率测试结果 [1240] 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: [1240] 可以看出在数据量100W左右的时候,uuid

4.7K30

使用uuidMySQL主键,被老板,爆怼一顿!

和自增id的索引结构对比 2.1.使用自增id的内部结构 2.2.使用uuid的索引内部结构 2.3.使用自增id的缺点 三、总结 ---- 前言 在mysql中设计表的时候,mysql官方推荐不要使用...uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?...,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变....long值 id自动生成表: 用户uuid表 随机主键表: 1.2.光有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试: 技术框架:springboot+jdbcTemplate...表写入结果: 1.4.效率测试结果 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: 可以看出在数据量100W左右的时候,uuid的插入效率垫底,并且在后序增加了130W

1.7K60

使用uuidMySQL主键,被老板,爆怼一顿!

来源:cnblogs.com/wyq178/p/12548864.html 前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键...一:mysql和程序实例 1.1:要说明这个问题,我们首先来建立三张表,分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机...key作为主键,其它我们完全保持不变.根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度: **注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复...*无规律*的id:一串18位长度的long值 id自动生成表: 用户uuid表 随机主键表: 1.2:光有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试: 技术框架...表写入结果: 1.4:效率测试结果 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: 可以看出在数据量100W左右的时候,uuid的插入效率垫底,并且在后序增加了130W

1.1K30

MySQL主键0和主键自排约束的关系

现在主键是没有0的,如果把某个id改成0的话,0不会变!...如果使用主键自排约束以前表里有0,再设置完主键自排以后所有的0又不会根据行数,而是直接按照自上而下的顺序从1开始排。...如果把表中的某个主键的数改成0,那直接就会进行排序放到正数前面,也就是说主键自排是允许有0存在的,那为什么本身存在的0要去修改成从1开始的递增序列呢?...哪怕没加主键自排以前只有一个0,加了主键自排以后还是会变成1。   开始有0,增加主键自排约束,0依次变为1,2,3,4.......   ...开始没0,增加主键自排约束,新添加的主键是0的行会根据行数自行变化,注意这里是新添加的行,使用的是insert。   开始没0,把某个主键的数修改成0,这个0会直接在排好序了再在表里显示出来。

4.3K30

为什么MySQL不推荐使用uuid或者雪花id作为主键

p=5090 前言 在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment...一、mysql和程序实例 1.1.要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机...用户uuid表 ? 随机主键表: ?...user_uuid表写入结果: ? 1.4.效率测试结果 ? 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: ?...id的机制不同在mysql的索引结构以及优缺点,深入的解释了为何uuid和随机不重复id在数据插入中的性能损耗,详细的解释了这个问题。

3.9K20

mysql 自增id和UUID主键性能分析,及最优方案

UUID UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦开放软件基金会组织在分布式计算环境领域的一部分。...{"+uuid.toString()+"}"); } } 组成 UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。...UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。...在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是...4.如果非要使用uuid主键,下面是小建议: 如果是主从即M-S模式,最好是不使用mysql自带函数uuid生成唯一主键,因为主表生成uuid要再关联从表时,需要再去数据库查出这个uuid,需要多进行一次数据库交互

7.5K20

华为面试官:为什么MySQL不推荐使用uuid作为主键

1、前言 在MySQL中设计表的时候,MySQL官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用...2 MySQL和程序实例 ★ 要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键uuid作为主键,随机key...根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度: 注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的id:一串18位长度的...long值 ID自动生成表: 用户UUID表: 随机主键表: ★ 只有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试 技术框架:springboot+jdbcTemplate...表写入结果: ★ 效率测试结果 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: 可以看出在数据量100W左右的时候,uuid的插入效率垫底,并且在后序增加了130W

1.9K20

使用雪花id或uuid作为Mysql主键,被老板怼了一顿!

来源:cnblogs.com/wyq178/p/12548864.html ---- 前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一)...,而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?...一、mysql和程序实例 1.1 要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键uuid作为主键,随机...long值 id自动生成表: 用户uuid表 随机主键表: 1.2 光有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试: 技术框架: springboot+jdbcTemplate...表写入结果: 1.4 效率测试结果 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: 可以看出在数据量100W左右的时候,uuid的插入效率垫底,并且在后序增加了130W

1.2K20

使用雪花id或uuid作为MySQL主键,被老板怼了一顿!

磊哥,前几天在做项目demo的时候,使用雪花id或uuid作为Mysql主键,被老板怼了一顿!...一、MySQL和程序实例 1.1 要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机...key作为主键,其它我们完全保持不变.根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度: 注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的...用户uuid表 ? 随机主键表: ?...user_uuid表写入结果: ? 1.4 效率测试结果 ? 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: ?

7.8K32

使用雪花id或uuid作为Mysql主键,被老板怼了一顿!

---- 前言 在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment...本篇博客的目录 mysql程序实例 使用uuid和自增id的索引结构对比 总结 一、mysql和程序实例 1.1.要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid...,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变....用户uuid表 ? 随机主键表: ?...user_uuid表写入结果: ? 1.4.效率测试结果 ? 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: ?

2.2K10

使用雪花id或uuid作为Mysql主键,被老板怼了一顿!

前言: 在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用...# mysql和程序实例 1.要说明这个问题,我们首先来建立三张表 分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key...作为主键,其它我们完全保持不变.根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度: 注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的...表写入结果: 4.效率测试结果 在已有数据量130W的时候:我们再来测试一下插入10w数据,看看会有什么结果: 可以看出在数据量100W左右的时候,uuid的插入效率垫底,并且在后序增加了130W...id的机制不同在mysql的索引结构以及优缺点,深入的解释了为何uuid和随机不重复id在数据插入中的性能损耗,详细的解释了这个问题。

1.5K10

使用雪花 id 或 uuid 作为 MySQL 主键,被老板怼了一顿!

和程序实例 **1.1 要说明这个问题, 我们首先来建立三张表** 分别是`user_auto_key,user_uuid`,`user_random_key`, 分别表示自动增长的主键, uuid...作为主键, 随机 key 作为主键, 其它我们完全保持不变....根据控制变量法, 我们只把每个表的主键使用不同的策略生成, 而其他的字段完全一样,然后测试一下表的插入速度和查询速度: 注:这里的随机 key 其实是指用雪花算法算出来的前后不连续不重复**无规律**...,然后分析了 id 的机制不同在 mysql 的索引结构以及优缺点,深入的解释了为何 uuid 和随机不重复 id 在数据插入中的性能损耗,详细的解释了这个问题。...在实际的开发中还是根据 mysql 的官方推荐最好使用自增 id,mysql 博大精深,内部还有很多值得优化的点需要我们学习。

2.9K00

可笑,你竟然不知道 Java 如何生成 UUID

我爱他,因为他兢兢业业,任劳任怨,和我心有灵犀;我恨他,因为他时不时会中二一下,问我一些可笑的问题,比如说这次,“二哥,你能给我说说 Java 如何生成 UUID 吗?”...,第一部分的长度 8,第二部分和第三部分的长度 4,第四部分的长度 12,总长度 36,是固定的。...M 表示 UUID 的版本,N UUID 的变体(Variants)。...所以 Java 的 UUID 通常可用于以下地方: 随机生成的文件名; Java Web 应用程序的 sessionID; 数据库表的主键; 事务 ID(UUID 生成算法非常高效,每台计算机每秒高达...(randomBytes); } randomUUID() 方法生成了一个版本 4 的 UUID,这也是生成 UUID 最方便的方法。

1.4K20
领券