Col*_*ond 4 sql-server uuid guid primary-key microsoft-sync-framework
可能重复:
GUID/UUID数据库密钥的优缺点
在任何情况下,必须将GUID用作SQL Server 2005/8数据库中的主键.例如,使用MS Sync Framework强制执行此操作还是数据复制?
Joh*_*ter 16
如果需要通过复制同步多个数据库,则可以使用guids作为键.
使用guids的另一个原因是,如果您想在某个远程客户端上创建行,例如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
)
Run Code Online (Sandbox Code Playgroud)
你会像往常一样插入表中,例如:
INSERT INTO myTable VALUES(NEWID(), 'Some useful data goes here')
Run Code Online (Sandbox Code Playgroud)
更新:我听了一个非常好的dotnetrocks插曲,谈论这个值得倾听 - 显示#447
归档时间: |
|
查看次数: |
4711 次 |
最近记录: |