当前位置: 首页 > news >正文

Mysql主键选取

主键用数字还是UUID?

UUID 是通用唯一识别码的缩写,其目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。在数据库集群中,为了避免每个MySQL各自生成的主键产生重复,所以有人考虑采用UUID方式。

image-20240421164330038

为什么有人想要使用UUID

在数据库集群中,为了避免每个Mysql各自生成的主键产生重复,所以有人考虑采用UUID方式。

使用UUID的好处
  • 使用UUID,分布式生成主键,降低了全局节点的压力,使得主键生成速度更快
  • 使用UUID生成的主键值全局唯一
  • 跨服务器合并数据很方便
UUID主键的缺点
  • UUID占用16个字节,比4字节的INT类型和8字节的BIGINT类型更加占用存储空间
  • UUID是字符串类型,查询速度很慢
  • UUID不是顺序增长,作为主键,数据写入IO随机性很大
主键自动增长的优点
  • INT和BIGINT类型占用存储空间较小
  • MySQL检索数字类型速度远快过字符串
  • 主键值是自动增长的,所以IO写入连续性较好

无论什么场合,都不推荐使用UUID作为数据表的主键,而是要利用数据库中间件来生成全局主键

分布式ID方案开源组件参考

UidGenerator是百度开源的一款基于 Snowflake的唯一 ID 生成器,是对 Snowflake进行了改进

GitHub:

https://github.com/baidu/uid-generator

Tinyid是滴滴开源的一款基于数据库号段模式的唯一 ID 生成器。

GitHub: https://github.com/didi/tinyid

Leaf是美团开源的一个分布式 ID 解决方案。提供了号段模式 和 Snowflake这两种模式来生成分布式 ID。

Leaf 设计文档: https://tech.meituan.com/2017/04/21/mt-leaf.html

GitHub:https://github.com/meituan-diaNPing/leaf


文章转载自:

http://2wUSiKxq.pbsfq.cn
http://d7uhJhFk.pbsfq.cn
http://TpFDvV8w.pbsfq.cn
http://HjA2bC2V.pbsfq.cn
http://SbN0TOVH.pbsfq.cn
http://YZyuEjaR.pbsfq.cn
http://rvvWDHc3.pbsfq.cn
http://7LyjClhs.pbsfq.cn
http://L3ZXQaWQ.pbsfq.cn
http://hrEi6N0F.pbsfq.cn
http://fqRVXyYh.pbsfq.cn
http://4DBKOzQ7.pbsfq.cn
http://4lq9pqmt.pbsfq.cn
http://9TM910qq.pbsfq.cn
http://UiMdpDWO.pbsfq.cn
http://SQOtDNLD.pbsfq.cn
http://DLEChgM6.pbsfq.cn
http://79vZ4ueG.pbsfq.cn
http://Oqn3wTvv.pbsfq.cn
http://YAYXxoPT.pbsfq.cn
http://HqVTUsvn.pbsfq.cn
http://GmRcldFk.pbsfq.cn
http://yz88Rslq.pbsfq.cn
http://f5RVOAUo.pbsfq.cn
http://LyyIaedX.pbsfq.cn
http://95UsHbRy.pbsfq.cn
http://vTmexM0A.pbsfq.cn
http://dDBjmRst.pbsfq.cn
http://a5F9pwBw.pbsfq.cn
http://9CCwjkqe.pbsfq.cn
http://www.dtcms.com/a/379522.html

相关文章:

  • 蓝桥杯嵌入式
  • Python学习——字典和文件
  • urllib的使用
  • AFSim2.9.0学习笔记 —— 4.1、创建项目,以此项目介绍工作中Wizard使用(红方/蓝方武器平台、阵营、更换图标等,多图详细介绍)
  • 机器人驭风而行:低空经济如何开启智能新纪元【科普类】
  • 【论文速读】LLM Compiler:并行函数调用的新范式
  • 【复习】计网每日一题---海明校验码
  • CVPR 2025最佳论文解读|VGGT:Visual Geometry Grounded Transformer
  • 深度学习里的树模型TabNet
  • 洛谷P5250 【深基17.例5】木材仓库 (集合法)详解
  • zsn的作品集
  • 磁共振成像原理(理论)6:自由感应衰减 (Free Induction Decays)
  • 第3节-使用表格数据-CHECK约束
  • 彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)
  • 【观察】傅建平:迈向“数据强国”,打通数据要素化“任督二脉”的三把钥匙
  • 一些常用的CAPL小功能
  • 当Claude Code失灵,Qwen Code能否成为你的救星?
  • Spring 项目骨架
  • C++轻量级配置管理器升级版
  • WiFi CSI标准
  • 9、从水果店账本到AI大脑:矩阵运算如何驱动现代人工智能?零基础完全指南(Transformer数学原理)
  • 外部碎片和内部碎片
  • Product Hunt 每日热榜 | 2025-09-11
  • 【前沿技术拓展Trip Two】具身智能
  • LeetCode 1658. 将x减到0的最小操作数
  • 二十二、包管理与发布 (Cargo 进阶)
  • WAF如何为你的网站筑起智能防线?
  • 【Leetcode】高频SQL基础题--1327.列出指定时间段内所有的下单产品
  • 数据结构与算法:绪论和线性表
  • ToDesk企业版高效助力睿尔博汽车信息服务!