gpt4 book ai didi

c# - 使用 UniqueIdentifier 数据类型优于包含 GUID 的 nvarchar(32) 的优点?

转载 作者:行者123 更新时间:2023-11-30 13:20:27 25 4
gpt4 key购买 nike

我想知道 SQL Server 中 UniqueIdentifier 数据类型的优点是什么

Over nvarchar(32) 数据类型,其中包含 GUID String(从 C# 发送)。

最佳答案

从服务器的角度来看:

  • 我希望 Guid 字段的存储效率更高 - 它只需要 16 个字节,而不是 32 个或可能超过 64 个,具体取决于 nvarchar 的存储方式
  • 可以被服务器视为不透明的二进制数据——例如,在进行比较时不需要智能。没有文化或大小写敏感性。它根本上不是文本数据,因此没有与文本相关的所有问题和复杂性。
  • 服务器可以决定使用Guid 的已知结构来更有效地建立索引。例如,如果某些位比其他位更可能随机分布,则这些位可用于索引。

从程序员的角度来看:

  • 它更清楚地说明了预期数据。
  • 您不需要任何验证,您永远不会担心无效数据 - 它们只是 GUID。

我非常喜欢以最接近数据逻辑含义的任何形式保存数据。例如,如果您要存储日期和时间数据,如果您有日期/时间值而不是字符串,那么比较等操作很多会更简单。与字符串(或任何其他表示形式,但通常是字符串)之间的转换应仅在必要时执行。

关于c# - 使用 UniqueIdentifier 数据类型优于包含 GUID 的 nvarchar(32) 的优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com