UUID

好处就是本地生成,不要基于数据库来了;不好之处就是,UUID 太长了、占用空间大,作为主键性能太差了;更重要的是,UUID 不具有有序性,会导致 B+ 树索引在写的时候有过多的随机写操作(连续的 ID 可以产生部分顺序写),还有,由于在写的时候不能产生有顺序的 append 操作,而需要进行 insert 操作,将会读取整个 B+ 树节点到内存,在插入这条记录后会将整个节点写回磁盘,这种操作在记录占用空间比较大的情况下,性能下降明显。

适合的场景:如果你是要随机生成个什么文件名、编号之类的,你可以用 UUID,但是常规业务不建议主键用 UUID 的。当然,万事无决定,毕竟还有分布式和雪花算法的概念

为什么不建议用字符串或者uuid做数据库主键相关推荐

  1. 使用UUID作为数据库主键产生的问题及解决方案

    序言 看了b站IT老齐的架构三百讲的其中一个短视频,有所体会并记录一下.视频中所讲的财经部门使用的UUID主键,在日终结算时出现磁盘的IO异常,导致应用出现高延迟.最后发现是UUID的问题,UUID作 ...

  2. 使用uuid作为数据库主键,被技术总监怼了!

    一.前言 在日常开发中,数据库中主键id的生成方案,主要有三种 数据库自增ID 采用随机数生成不重复的ID 采用jdk提供的uuid 对于这三种方案,我发现在数据量少的情况下,没有特别的差异,但是当单 ...

  3. 使用uuid作为数据库主键,被技术总监怼了一顿!

    每天早上七点三十,准时推送干货 看完本文,你一定会有所收获 一.摘要 在日常开发中,数据库中主键id的生成方案,主要有三种 数据库自增ID 采用随机数生成不重复的ID 采用jdk提供的uuid 对于这 ...

  4. 数据库主键到底是用自增长(INT)好还是UUID好?

    数据库主键到底是用自增长(INT)好还是UUID好? 使用自增长做主键的优点: 1.很小的数据存储空间 2.性能最好 3.容易记忆 使用自增长做主键的缺点: 1.如果存在大量的数据,可能会超出自增长的 ...

  5. 数据库主键一定要自增吗?有哪些场景不建议自增?

    Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记! 我们平时建表的时候,一般会像下面这样. CREATE TABLE `user` (`id` int NOT NULL AUTO_IN ...

  6. 数据库主键采用整型还是字符串?

    整型的好处:速度快,自增方便. 字符串的好处:自定义方便. 主键索引会先存入内存区,如果用字符串占用内存会比较大.建议采用整型.

  7. 为啥不能用uuid做MySQL的主键!?

    作者:Yrion 地址:cnblogs.com/wyq178/p/12548864.html 前言 在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形 ...

  8. 5分绩点转4分_作为一名大学生,如何规划4年大学生活?学姐:建议从这5点做起...

    导语:作为一名大学生,如何规划4年大学生活?学姐:建议从这5点做起 进入大学后,同学们会拥有更多可自由支配的时间.大学课余时间多,家长不在身边,老师又不管.同学们可以说是彻底自由了.但是世界上没有绝对 ...

  9. 【Python】在字符串的头尾做文本匹配

    在字符串的头尾做文本匹配 Python为字符串对象提供了 str.startswith() 和 str.endswith() 两个方法来实现字符串的开头和结尾的文本匹配,返回值为布尔值. >&g ...

最新文章

  1. Java、Android静态代理与动态代理
  2. Spring OXM-XStream注解
  3. 嵌入式驱动开发应具备的三大基础
  4. usb连接不上 艾德克斯电源_艾德克斯双范围可编程直流电源IT6800A/B系列
  5. OS10.11安装Cocoapods并集成ReactiveCocoa
  6. Column count doesn't match value count at row 1 原因
  7. 深入分析之Cluster层
  8. 演义群侠传(五)【素材方式MC or SpriteSheet】
  9. JavaScript 之call , apply 和prototype 介绍
  10. java包资源_Java获取jar包以外资源的方法
  11. minst 手写数字识别实战
  12. 最新爱客影院自动采集源码v3.5.5
  13. php 读写局域网文件,PHP访问局域网共享文件
  14. AcWing 188 武士风度的牛 题解(BFS)
  15. 微信提示:绑定非国内手机号的账户将迁移至 Wechat,或者换绑手机号
  16. zookeeper启动报错:already running as process
  17. Android Camera HAL3 - 框架流程预览
  18. 【海大838】22年考研真题及解析
  19. JPA基础知识----JPA 基本注解,JPA API
  20. Prometheus(一)——概述、监控体系、生态组件、部署

热门文章

  1. 打听别人工资的7个话题,让你薪水更高
  2. Z-score(Z值)的意义--转载
  3. 密码 计算安全性 可证明安全性 无条件安全性
  4. python解析pcap提取{src ip,src port,protocol,dst ip, dst port}五元组,再提取网络流(包括前向流与后向流)
  5. linux下复制文件并重命名,Linux 批量复制并重命名 和 批量复制文件到多个文件夹...
  6. 《*** 法治思想学习纲要》学习辅导
  7. shell循环执行脚本
  8. 基于对接化合物库虚拟筛选(Virtual Screening)
  9. 联邦学习的威胁模型和攻防现状
  10. cccc-gplt 团体程序设计天梯赛JAVA题解