GUID.和自动id作为SQL数据库中的主键

use*_*745 0 t-sql sql-server-2005 primary-key

SELECT COUNT(*) FROM table_name;
Run Code Online (Sandbox Code Playgroud)

我的算法是:

  • 检查计数
  • count + 1是新的主键起点
  • 然后在每次插入操作之前继续递增

但是这个GUID是什么?SQL Server是否提供了自动生成和增加主键的功能?

Mar*_*ith 8

有3个选项

CREATE TABLE A
(
ID INT IDENTITY(1,1) PRIMARY KEY,
... Other Columns
)

CREATE TABLE B
(
ID UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY,
... Other Columns
)

CREATE TABLE C
(
ID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() PRIMARY KEY,
... Other Columns
)
Run Code Online (Sandbox Code Playgroud)

如果您要将ID 用作聚簇索引,那么您可能更喜欢C而不是B的一个原因是减少碎片.