【问题标题】:How to add unique identifier in all rows of a SQL Server table如何在 SQL Server 表的所有行中添加唯一标识符
【发布时间】:2019-01-19 14:29:48
【问题描述】:

我已经导入了一个包含 6000 万行的 .csv,我想为它们编制索引以加快查询速度。如果我需要添加具有自动生成的唯一标识符的列,我该怎么做?这是我第一次使用 SQL Server。

【问题讨论】:

  • 在数据类型 INT 的新列上使用 Identity 属性,GUID 是 16 字节数据类型,而不是唯一标识符列的最佳选择。 INT 只有 4 个字节,并且是连续的,并且 SQL Server 使用它的速度要快得多。
  • 使用IDENTITY
  • 感谢您的回答。因为我对此很陌生,你的回答让我没有任何线索。你能给我指出一篇有分步说明的文章吗?
  • 见:@marc_s' 回答stackoverflow.com/a/4862427/880990

标签: sql sql-server sql-server-2012


【解决方案1】:

现在,在导入数据后,您有一个包含一些列的表。

如果要添加索引,可以索引已经存在的列,参考CREATE INDEX (Transact-SQL)

但是,如果你想拥有一些 ID 列,你必须首先使用以下命令将它添加到你的表中:

ALTER TABLE my_table
ADD ID INT IDENTITY(1, 1) PRIMARY KEY

它会自动从 1 开始对现有记录进行编号,使其成为主键,这会自动使其成为聚集索引。

【讨论】:

  • 如果您想使用 Management Studio 而不是编写 Transact-SQL 代码来执行此操作,请查看 this doc
  • 各位朋友,我喜欢这些答案,但是我不能投票,因为我的声誉低于 15,可能是因为我是新用户..
  • @KaushalKumar 如果我的回答有帮助,您应该通过检查左侧的绿色标记来接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
  • 1970-01-01
  • 1970-01-01
  • 2015-11-23
  • 1970-01-01
相关资源
最近更新 更多