当前位置: 首页 > 面试题库 >

在MySQL中存储UUID v4

殳睿
2023-03-14
问题内容

根据此处找到的功能,我正在使用PHP生成UUID

现在,我想将其存储在MySQL数据库中。存储UUID v4的最佳/最有效的MySQL字段格式是什么?

我目前有varchar(256),但我可以肯定它比所需的要大得多。我已经找到了很多几乎可以回答的内容,但是对于它们所指的UUID形式,它们通常是模棱两可的,所以我要询问特定的格式。


问题答案:

将其存储起来,VARCHAR(36)好像您希望完全适合它一样,或者VARCHAR(255)无论如何都要以相同的存储成本进行计算。这里没有理由大惊小怪。

请记住,VARCHAR字段是 可变长度的 ,因此存储成本与它们中实际有多少数据成正比,而不是与其中可能有多少数据成正比。

存储它BINARY非常烦人,这些值是不可打印的,并且在运行查询时可能显示为垃圾。很少有理由使用文字二进制表示形式。可以将人类可读的值粘贴粘贴并轻松使用。

其他一些平台,例如Postgres,都有一个适当的UUID列,该列以更紧凑的格式在内部存储它,但将其显示为便于人类阅读,因此您可以充分利用这两种方法



 类似资料:
  • 问题内容: 我想将3.50存储到mysql表中。我有一个将其存储在其中的浮点数,但它存储为3.5,而不是3.50。如何获得尾随零? 问题答案: 不要将货币值存储为浮点型,请使用DECIMAL或NUMERIC类型: MySQL数值类型的文档 编辑和说明: 浮点值容易受到舍入误差的影响,因为它们的精度有限,因此除非您不在乎只得到9.99而不是10.00,否则应使用DECIMAL / NUMERIC,因

  • 问题内容: 已关闭 。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗? 添加详细信息并通过编辑此帖子来澄清问题。 6年前关闭。 请给我查询在MySQL数据库中插入图像的查询。我是stackoverflow的新手,所以如果我的问题不符合要求,请忽略我。 问题答案: 有特定的原因为什么您不能存储对图像的引用,而不是实际图像? 图像很大,它们使数据库很大。SQL可能很痛苦(因为它不是面向对

  • 问题内容: 这星期我们在办公室进行了一场健康的辩论。我们正在创建一个Db来存储代理信息,在大多数情况下,除了应该如何存储IP之外,我们还制定了模式。一个阵营想要使用4个smallint,每个八位位组一个,另一个希望使用1个大int INET_ATON。 这些表将非常庞大,因此性能至关重要。我处于中间位置,因为我通常在世界中使用MS SQL和4个小整数。我对这种类型的IP存储量没有足够的经验。 我们

  • 问题内容: 我有一个具有数据类型joda.money属性的类。如何将这个属性映射到mysql中。 我的课是: @Table(name =“ products”)公共类Product(){@Column(name =“ name”)字符串名称;@Column(name =“ money”)金钱金钱;} 我正在使用Spring Hibernate 谁能说出如何将此模型存储到mysql中? 问题答案:

  • 问题内容: 正如“具有ipv6功能的inet_aton和inet_ntoa功能所需 ”中所要求的那样,当前没有用于存储IPv6地址的MySQL函数。建议用于存储/插入的数据类型/功能是什么?(我不打算将它们存储为字符串)。我也不想将IPv6地址分为2个INT。 问题答案: 怎么样: 那应该足够有效。 如该错误报告中所述,当前在MySQL服务器中没有将文本IPv6地址从二进制转换为二进制的功能。您需

  • 问题内容: 如何在免费版本的MySQL中存储Unicode? 在SQL Server中似乎没有类型。MySQL不支持Unicode吗?我尝试使用,但是那也不起作用。 问题答案: 您需要为表选择一个 字符集。然后,文本和备注字段将自动存储在UTF-8中。MySQL 6中提供了对UTF-16的支持。