【数据库】自增ID有什么坏处?什么样的场景下不使用自增ID?

这篇具有很好参考价值的文章主要介绍了【数据库】自增ID有什么坏处?什么样的场景下不使用自增ID?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在MySQL中,数据表的主键一般采用id字段自增的形式。使用自增ID给我们带来不少便捷,但也有不少坏处,在一些场景下是不推荐使用自增ID的。

1.什么是自增ID

自增ID是在设计表时将id字段的值设置为自增的形式,这样当插入一行数据时无需指定id会自动根据前一字段的ID值+1进行填充。在MySQL数据库中,可通过sql语句AUTO_INCREMENT来对特定的字段启用自增赋值 使用自增ID作为主键,能够保证字段的原子性.

2.自增ID有什么好处

在添加一行时无需对自增id列赋值,在添加一行数据时可留空,会自动根据前一字段id值+1填充

单个表中能够唯一标识该字段,保证原子性。在单个表中使用自增ID能够保证主键不重复

3.自增ID有什么坏处

不存在连续性,也就是说若表中存有3行数据,ID字段为1,2,3 那么当删除字段2时就变为1,3,不具有连续性

合并表会出现ID重复的情况,上面说个使用自增ID能够在单个表中保证ID字段唯一,但两个表何为1个表,时不具有这种性质的。

4.什么场景下不使用自增ID

正是因为自增ID的缺点也就是无法在多个表中,或者多个数据库中保持ID主键唯一不重复,所以若是使用分布式数据库以及数据合并的情况下时不能使用自增ID的。

若是能够有其他的字段能作为主键保证唯一性,无需使用自增ID

5.自增ID的替代者UUI

UUID含义是通用唯一识别码 (Universally Unique Identifier),指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。换句话说能够在一定的范围内保证主键id的唯一性。

6.UUID存在的目的

UUID的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。也就完美解决的自增ID的缺点。

总结

根据自己项目实际情况来定!!!没有一套规定的方案适合任何一个系统。

更多可参考之前写的文章:分布式唯一 ID 的 8 种生成方案文章来源地址https://www.toymoban.com/news/detail-467865.html

到了这里,关于【数据库】自增ID有什么坏处?什么样的场景下不使用自增ID?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始拿捏数据结构】 顺序表是什么?它有什么样的特性?结构到底是什么样的?

    🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! ​ 什么是数据结构?我们为什么要学数据结构?数据结构中的顺序表长什么样子?它是怎么运用? ​ 本期我们将对这些一一讲解,彻底明白数据结构的重要性,以及顺序表是一种什么的数据

    2024年02月08日
    浏览(105)
  • 大数据开发的学习路线是什么样的

    大数据技术的体系庞大且复杂,每年都会涌现出大量新的技术,目前大数据行业所涉及到的核心技术主要就是:数据采集、数据存储、数据清洗、数据查询分析和数据可视化。 学习大数据需要掌握什么语言基础? 1、Java基础 大数据框架90%以上都是使用Java开发语言,所以如果

    2024年02月14日
    浏览(41)
  • “双碳”时代,企业该选择什么样的数据中心?

    对企业用户来说,选择什么样的数据中心才是最适合自己的?同时也最符合未来发展趋势? 首先,数据中心作为新型基础设施之一,需要积极采用新技术才能跟上整个数字经济发展的步伐。去年11月,有孚网络量子计算中心正式签约落地,标志着有孚网络正式迈入量子计算的

    2023年04月08日
    浏览(45)
  • 爬虫数据采集违法吗?什么样的行为使用爬虫是违法的

    爬虫技术本身是不违法的,它只是一个工具,会造成违法后果的是使用工具的人的不当行为。那么想要合理正确的使用爬虫数据,就要知道哪些行为是不能做的。下面小编会在下面的文章详细介绍什么样的行为使用爬虫是违法的。 1.爬取商业数据 如果只是爬取行业内公开在万

    2024年02月14日
    浏览(61)
  • pytorch框架:conv1d、conv2d的输入数据维度是什么样的

    Conv1d 的输入数据维度通常是一个三维张量,形状为 (batch_size, in_channels, sequence_length),其中: batch_size 表示当前输入数据的批次大小; in_channels 表示当前输入数据的通道数,对于文本分类任务通常为 1,对于图像分类任务通常为 3(RGB)、1(灰度)等; sequence_length 表示当前输

    2024年01月16日
    浏览(49)
  • 《视觉 SLAM 十四讲》V2 第 4 讲 李群与李代数 【什么样的相机位姿 最符合 当前观测数据】

    P71 什么样的相机位姿 最符合 当前观测数据。 求解最优的 R , t bm{R, t} R , t , 使得误差最小化。 群 : 只有一个(良好的)运算的集合。 封结幺逆 、 丰俭由你 李群 : 具有连续(光滑)性质的群。 在 t = 0 附近,旋转矩阵可以由 e x p ( ϕ 0 ∧ t ) exp(phi_0^{land}t) e x p ( ϕ 0 ∧ ​ t

    2024年02月07日
    浏览(51)
  • IPD是什么?适合什么样的团队?

    IPD,全称为“Integrated Project Delivery”,即集成产品开发。它是一种全新的项目管理方法,最初源于建筑行业,随着时间的推移,已经应用到了各行各业的项目管理中。IPD是一种以协同合作为核心的工作模式,在这种模式下,项目中的所有相关方在项目的整个生命周期中进行更

    2024年02月13日
    浏览(50)
  • 云计算学习需要什么样的电脑

    一、认识电脑 1. 电脑是如何组成的 2. 云计算学习需要配置什么样的电脑 3. 学习云计算为什么对CPU、硬盘、内存性能要求高 二、电脑升级加装 1. 如何提高旧电脑性能 2. 拆装步骤 电脑的组成 硬件系统:电源、主板、CPU、内存、硬盘、声卡和网卡等 软件系统:系统软件、操作

    2024年02月10日
    浏览(48)
  • 抖客是种什么样的盈利方式

    抖客是什么?怎么推广?如何设置?抖客联盟app有什么用,类似抖客联盟的app有哪些,抖客是种什么样的盈利方式 抖音直播间引流、增长,抖客来帮忙!助力MCN机构培养达人,提升达人等级,这时候也需要一大批抖客,大家是否知道抖客是什么呢?应该要怎么进行推广呢? “抖客”

    2023年04月08日
    浏览(48)
  • 法线贴图可以实现什么样的3D效果

    在线工具推荐: 3D数字孪生场景编辑器  -  GLTF/GLB材质纹理编辑器  -  3D模型在线转换  -  Three.js AI自动纹理开发包  -  YOLO 虚幻合成数据生成器  -  三维模型预览图生成器  -  3D模型语义搜索引擎 在 3D 建模中,曲面由多边形表示。照明计算是基于这些多边形的几何形状执

    2024年02月03日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包