Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >使用具有唯一索引的UUID与作为PK的影响?

使用具有唯一索引的UUID与作为PK的影响?
EN

Stack Overflow用户
提问于 2014-10-16 10:04:38
回答 2查看 250关注 0票数 2

众所周知,随着表大小的增加,随机UUID作为PKs的性能如何严重下降。非PK列的唯一索引会有相同的影响吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-24 09:15:34

在进行了一些研究之后,我发现PKs的影响要大得多,因为默认情况下它们被用作聚集索引,因此决定了表本身是如何聚集的。具有随机值的非PK唯一索引的影响肯定比具有顺序值的相同索引的影响更大,但它不会改变表的聚集方式。

票数 0
EN

Stack Overflow用户

发布于 2014-10-17 03:21:42

在MySQL中,PRIMARY KEY索引和UNIQUE索引之间的唯一区别是:

  • PRIMARY KEY暗示NOT NULL
  • InnoDB根据PRIMARY KEY列对磁盘上的行进行物理排序

但假设

  • 无论如何,UUID将被定义为NOT NULL
  • 不需要查询(连续的)UUID的范围

..。不应该有实际的区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26411017

复制
相关文章
全局唯一ID--UUID介绍、JAVA中UUID的使用
上面这段解析文是知乎一位朋友的理解(https://www.zhihu.com/question/34876910#answer-31004674),个人感觉从UUID的概念、特征描述比较透彻。
青山师
2023/05/04
1.9K0
普通索引与唯一索引的区别_唯一索引怎么设置
所谓普通索引,就是在创建索引时,不附加任何限制条件(唯一、非空等限制)。该类型的索引可以创建在任何数据类型的字段上。
全栈程序员站长
2022/11/08
5370
普通索引与唯一索引的区别_唯一索引怎么设置
普通索引 PK 唯一性索引,用哪个好?
我们建索引的时候,有全文索引、主键索引、唯一性索引、普通索引等,前面两个好理解好区分,大家都知道啥时候用,后面两个该如何区分呢?唯一性索引和普通索引该如何选择呢?今天我们就来聊聊这个话题。
江南一点雨
2022/01/25
8440
普通索引 PK 唯一性索引,用哪个好?
唯一索引与主键索引的比较
唯一索引 唯一索引不允许两行具有相同的索引值。 如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,用户表中的身份证(idcard) 列上创建了唯一索引,则所有身份证不能重复 主键索引 主键索引是唯一索引的特殊类型。 数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查
joshua317
2018/04/16
3.1K0
主键、唯一键与唯一索引的区别
一般,我们看到术语“索引”和“键”交换使用,但实际上这两个是不同的。索引是存储在数据库中的一个物理结构,键纯粹是一个逻辑概念。键代表创建来实施业务规则的完整性约束。索引和键的混淆通常是由于数据库使用索引来实施完整性约束。
全栈程序员站长
2022/07/15
1.3K0
[152]python使用UUID库生成唯一ID
Python官方Doc:《20.15. uuid — UUID objects according to RFC 4122》 UUID的算法介绍:《A Universally Unique IDentifier (UUID) URN Namespace》
周小董
2022/04/12
1.1K0
通用唯一标识码UUID的介绍及使用。
什么是UUID? UUID全称:Universally Unique Identifier,即通用唯一识别码。 UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32 = 2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。 UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如:550e8400-e29b-41d4-a716-446655440000。 UUID的
Java技术栈
2018/04/02
5.1K0
通用唯一标识码UUID的介绍及使用。
【Oracle】-【ROWNUM与索引】-索引对ROWNUM检索的影响
看到ASK TOM的一篇文章,挺有感触的。 http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:32812348052
bisal
2019/01/29
1K0
UUID的使用
UUID 是由一组32位数的16进制数字所构成,是故 UUID 理论上的总数为1632=2128,约等于3.4 x 10123。
孙晨c
2020/05/19
8160
唯一识别码之UUID入门与实战
上一篇从身份证号是如何生成,来认识了中心机构下生成唯一标识的方法,这一篇来看看面对庞大的计算机世界,无中心机构时,那又如何生成唯一标识呢?
用户1462769
2019/08/18
4K0
mysql 唯一索引_mysql主键和唯一索引的区别
普通索引(INDEX):最基本的索引,没有任何限制 唯一索引(UNIQUE):与”普通索引”类似,不同的就是:索引列的值必须唯一,但允许有空值。 主键索引(PRIMARY):它 是一种特殊的唯一索引,不允许有空值。 全文索引(FULLTEXT ):可用于 MyISAM 表,mysql5.6之后也可用于innodb表, 用于在一篇文章中,检索文本信息的, 针对较大的数据,生成全文索引很耗时和空间。 联合(组合)索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
全栈程序员站长
2022/11/05
2.9K0
唯一索引和普通索引的区别
索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时Mysql必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录,表里面的记录数量越多,这个操作的代价就越高,如果作为搜索条件的列上已经创建了索引,mysql无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有一千个记录,通过索引查找记录至少要比顺序扫描记录快100倍。所以对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。
全栈程序员站长
2022/11/05
1.5K0
为什么MySQL不推荐使用uuid作为主键?
在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?关注公种浩:程序员追风,回复012获取一套500多页PDF总结的MySQL学习笔记。
程序员追风
2020/12/29
5.1K0
为什么MySQL不推荐使用uuid作为主键?
mysql 联合索引 唯一_mysql 联合索引和唯一索引
如果表也有DML, 我一般只在a 上建索引. 这也是代价平衡的结果. 一方面 只在a 上建索引那么是
全栈程序员站长
2022/09/05
2.8K0
MySQL普通索引和唯一索引的选择
假设你的项目中主要负责车辆管理系统,每辆车的车牌号在系统上唯一,在新增车辆时,业务层面会先判断待新增的车辆车牌号是否已存在系统中,产品功能中使用频率最高的是根据车牌号查询车辆信息,由于业务量和数据量的增加,现在需要考虑在车辆表车牌号字段增加索引,现有两种索引可供选择:唯一索引、普通索引。
关忆北.
2023/10/11
1900
比UUID更轻量的唯一ID生成器
诚然,UUID 自问世以来,前前后后开发了5个版本。最常用的要属 UUID4了。一起来回顾下它的使用。
程序员老鱼
2023/05/23
1.3K0
比UUID更轻量的唯一ID生成器
普通索引和唯一索引的执行过程
我们已经介绍过索引的结构和索引的几种优化,我们再来看一下相同语句在不同索引类型的执行过程
matinal
2020/11/27
8070
mongodb 唯一索引 性能_什么是唯一索引
MongoDB 单键(列)索引 MongoDB 复合索引 MongoDB 多键索引 MongoDB执行计划获取(db.collection.explain())
全栈程序员站长
2022/11/05
1.1K0
python uuid库的使用
python 的uuid库是用来生成一串唯一表示的包,uuid是一个 32 位的16进制数,用来设置唯一的辨识信息,具体uuid功能查看维基百科
py3study
2020/01/13
3.7K0
UUID介绍与使用范围
描述:通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准是在计算机系统中用来标识信息的一个 128 位(比特)的数字,最初被用在阿波罗网络计算机系统(NCS)中,亦为自由软件基金会组织会(OSF)在分散式计算环境领域境(DCE)的一部份。
全栈工程师修炼指南
2020/10/23
2.7K0

相似问题

是否需要使用UUID作为PK?

13

UUID作为PK是个好主意?

11

复合聚集PK行为与非聚集PK +非唯一聚集索引

20

在django中断管理页面中使用uuid作为id/pk

14

非聚类对聚集索引(PK)的影响

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文