各位同学好,今天给大家讲一下MySQL数据库在设计主键时,应该使用哪种数据类型。我们知道,咱们在设计数据库时,主键是必须设置的。一般情况下,咱们都会选择使用主键自增或者UUID这两种主键策略。那么这两个哪种更好呢?我们应该使用哪一种呢,今天就请大家跟老徐来一起来学习一下吧。
- 很小的数据存储空间;
- 性能最好;
- 容易记忆。
- 如果存在大量的数据,可能会超出自增长的取值范围;
- 很难(并不是不能)处理分布式存储的数据表,尤其是需要合并表的情况下;
- 安全性低,因为是有规律的,容易被非法获取数据。
- 它是独一无二的,出现重复的机会少;
- 适合大量数据中的插入和更新操作,尤其是在高并发和分布式环境下;
- 跨服务器数据合并非常方便;
- 安全性较高。
- 存储空间大(16 byte),因此它将会占用更多的磁盘空间;
- 会降低性能;
- 很难记忆。
那么一般情况下,对于以上两种主键策略,我们该如何选择呢?
一般情况下,MySQL推荐我们使用自增ID。这是因为在MySQL的 InnoDB 存储引擎中,主键索引是聚簇索引,主键索引的B+树叶子节点会按照顺序存储主键的值及数据。如果主键索引是自增ID,只需要按顺序往后排列即可;如果是UUID,ID是随机生成的,所以在数据插入时会造成大量的数据移动,产生大量的内存碎片,造成插入性能的下降。
如果我们要结合具体的项目,又该选择哪种注解策略呢?此时要分如下几种情况:
- 项目是单机版的,并且数据量比较大(百万级)时,用自增长的,此时最好能考虑下安全性,做些安全措施。
- 项目是单机版的,并且数据量没那么大,对速度和存储要求不高时,用UUID。
- 项目是分布式的,那么首选UUID,分布式一般对速度和存储要求不高。
- 项目是分布式的,并且数据量达到千万级别可更高时,对速度和存储有要求时,可以用自增长。
现在你知道在MySQL中,该如何选择主键策略了吗?关注小千,干货天天都不断!
当然如果各位觉得以上的内容不过瘾,还想详细了解MySQL相关技术知识,可以点击下方,观看MySQL专业全面的技术课程,免费的哦!
到此这篇mysql主键自增和uuid用哪个好(mysql主键用自增还是用uuid)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/18805.html