繁体   English   中英

SQL Server uniqueidentifier ID

[英]SQL Server uniqueidentifier Ids

我有一个表,其主键列为nchar类型。

我将要替换该类型,我添加了一个新的uniqueidentifier列作为id并将其设置为主键,然后将关系重置为其他表。

我这样做是因为我认为uniqueidentifier比id字符串更好,因为该字符串id是由用户键入的。 它是一种名称属性,用作主键。

但是当我执行查询时,它似乎变慢了,我也不明白为什么。

通常,Uniqueidentifier是主键的错误选择。 这是一个随机无序字符串,并且PK是聚簇索引(默认情况下),这意味着如果您插入该id,引擎就会尝试将其插入该表的中间,然后引擎会拆分该表并进行大量处理。

尝试为您使用一个int身份PK,如果您需要历史记录,则原始strign列可以保留为非聚集唯一索引。

并阅读这篇(非常小的)文章。 SQL Server中央

PS:如果您尚未注册该论坛,则可以免费进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM