存储空间比较大:UUID 通常以字符串形式存储,占用的存储空间比较大。 不适合范围查询:因为不是自增的,所以在做范围查询的时候是不支持的。 不方便展示:主键ID有的时候会需要在系统间、或者前台页面展示,如果是UUID的话,就因为比较长、并且没有任何业务含义,所以不方便展示。 查询效率低: 在UUID列上创建索引,因为他...
相比之下,MySQL自增ID具有简单易用、唯一性、效率高和索引效率高等优点,适用于大多数场景,因此推荐使用自增ID作为主键。 应用场景 UUID应用场景 1.分布式系统 由于UUID的全球唯一性,可以在分布式系统中生成唯一的标识符,避免冲突。 2.高并发环境 UUID的生成不依赖于数据库,可以在应用层生成,减少数据库的压力。 3....
而userinfo_uuid表以uuid为主键,而插入100万和300万数据的顺序是按照id列的顺序插入的,由上图可知,...
UUID:UUID主键可能导致数据库在插入数据时产生更多的页分裂,增加了磁盘I/O的需求。 自增ID:自增ID的有序性减少了页分裂的频率,降低了磁盘I/O需求。 综上所述,虽然UUID主键具有全局唯一性的优势,但在MySQL数据库中,由于其无序性、存储空间浪费以及查询效率低等问题,通常不推荐使用UUID作为主键。在大多数情况下,...
前后分析得出 使用uuid或者数字作为主键它的查询效率相差的并没有想象中的大,几乎可以忽略不记 只有key_len有些差别。 key_len:表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度,在不损失精确性的情况下,长度越短越好。key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表...
在数据库设计中,选择适当的主键类型对于数据的存储和查询效率至关重要。在MySQL中,有些开发者倾向于使用UUID(Universally Unique Identifier)或者雪花ID作为主键,以确保数据的唯一性。然而,这种做法并不总是推荐的,因为它们在性能、存储空间和索引效率等方面存在一些问题。本文将探讨在MySQL中不推荐使用UUID或者雪花ID作为...
用户uuid表 随机主键表:1.2 光有理论不行,直接上程序,使用spring的jdbcTemplate来实现增查测试:技术框架:springboot+jdbcTemplate+junit+hutool 程序的原理就是连接自己的测试数据库,然后在相同的环境下写入同等数量的数据,来分析一下insert插入的时间来进行综合其效率,为了做到最真实的效果,所有的数据采用随机生成...
查询效率问题:对于大规模数据的查询,UUID作为主键可能会影响查询效率。可以考虑使用复合主键或者将UUID作为辅助索引字段。 参考链接 MySQL官方文档 - UUID UUID官方网站 请注意,以上链接可能会指向外部网站,并不保证始终可用。在实际应用中,请根据具体情况选择合适的资源进行参考。 相关搜索:mysql 查询uuidmysql 如何查询uu...
但是当你插入一个uuid时,mysql根本不知道他该插入到哪个位置,需要从头开始寻找插入的位置。但是当我们的插入的页满了时,这就造成了页的分裂和合并,极大的影响了效率。 而且我们使用uuid的话,uuid所占字节也比较长,就导致了每一页存储的数据就会变少,也不利于索引的数据查询。 哪些列适合添加索引呢 需要经常where...