gpt4 book ai didi

sql-server - 什么时候会使用 GUID 作为主键?

转载 作者:行者123 更新时间:2023-12-03 01:03:48 25 4
gpt4 key购买 nike

Possible Duplicate:
Advantages and disadvantages of GUID / UUID database keys

是否存在必须使用 GUID 作为 SQL Server 2005/8 DB 中的主键的情况。例如,使用 MS Sync Framework 是否强制执行此操作或数据复制?

最佳答案

如果您需要通过复制同步多个数据库,您可以使用 guid 作为键。

使用 guid 的另一个原因是,如果您想在某些远程客户端(例如 winforms 应用程序)上创建行,然后通过 Web 服务等将这些行提交到服务器。

如果您这样做,我强烈建议您确保基于不唯一的自动递增 int 指定自己的聚集索引。将行插入到聚集索引是 guid 的表中可能会产生相当大的开销。

更新:以下是如何设置这样的表的示例:

CREATE TABLE [dbo].[myTable](
[intId] [int] IDENTITY(1,1) NOT NULL,
[realGuidId] [uniqueidentifier] NOT NULL,
[someData] [varchar](50) NULL,
CONSTRAINT [PK_myTable] UNIQUE NONCLUSTERED
(
[realGuidId] ASC
)
)

CREATE CLUSTERED INDEX [IX_myTable] ON [dbo].[myTable]
(
[intId] ASC
)

您可以像平常一样插入到表中,例如:

INSERT INTO myTable VALUES(NEWID(), 'Some useful data goes here')

更新:我听了一个非常好的 dotnetrocks 剧集,其中谈到了这一点,值得一听 - Show #447

关于sql-server - 什么时候会使用 GUID 作为主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897083/

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