1

我有一个表,我希望在其中有一个唯一标识符,该标识符在我可以在我的代码中引用的数据库实例中是相同的。该表不太可能有 > 500 行。使用 GUID 和使用由 LEFT(NEWID(),6) 填充的 NVARCHAR(6) 作为标识符之间有区别吗?当然假设该字段被标记为 PK 并且是唯一的。

该 ID 将用于自定义控件,我认为:

<cc1:mycontrol id="test" runat="server" code="71E29D" />

比以下更具可读性和更易于使用:

<cc1:mycontrol id="test" runat="server" code="71E29D4C-A00A-4F1A-9785-08D030A9B764" />
4

3 回答 3

3

请注意不同的 GUID 生成方案。在某些情况下,很多字节不是随机的,而是基于 MAC 地址和其他类似系统的东西。这可能意味着您的前 6 个字符将始终相同...

于 2013-02-27T21:32:48.477 回答
2

GUID 不应该是真正可读的。它们用于确保 ID 的唯一性。如果您只使用 GUID 的一部分,官方不能保证它是唯一的。考虑有一对,我有一个 GUID 作为我的 rowId,然后是第二列作为一些可读值。

于 2013-02-27T21:29:42.893 回答
2

通过截断 GUID,您可能会得到重复。只需使用 GUID。(或者想出另一种更短的唯一 ID 方案)

于 2013-02-27T21:31:04.717 回答