使用雪花id或uuid作为Mysql主键

公益中国援助定点白癜风医院 https://m.39.net/disease/a_5496912.html
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。一、mysql和程序实例1.1要说明这个问题,我们首先来建立三张表分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变。根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度:注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的id:一串18位长度的long值id自动生成表:用户uuid表随机主键表:1.2光有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试:技术框架:springboot+jdbcTemplate+junit+hutool程序的原理就是连接自己的测试数据库,然后在相同的环境下写入同等数量的数据,来分析一下insert插入的时间来进行综合其效率,为了做到最真实的效果,所有的数据采用随机生成,比如名字、邮箱、地址都是随机生成。package


转载请注明:http://www.aierlanlan.com/rzgz/7991.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了