Yto*_*heZ 35 database primary-key clustered-index sql-server-2008
我在SQL server 2008中创建一个数据库,
CREATE TABLE Users
(
U_Id INT NOT NULL
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Email VARCHAR(200)
Password VARCHAR(50)
)
Run Code Online (Sandbox Code Playgroud)
我想让U_Id成为主键.我想问一下有什么区别
CONSTRAINT pk_UserID PRIMARY KEY (U_Id)
Run Code Online (Sandbox Code Playgroud)
这个
CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)
Run Code Online (Sandbox Code Playgroud)
还有这个
CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)
Run Code Online (Sandbox Code Playgroud)
什么时候使用?
我读了一些文章,但我还不清楚.有人可以给我一个快速解释吗?
小智 43
以下声明:
CONSTRAINT pk_UserID PRIMARY KEY (U_Id)
Run Code Online (Sandbox Code Playgroud)
和这一个一样:
CONSTRAINT pk_UserID PRIMARY KEY CLUSTERED (U_Id)
Run Code Online (Sandbox Code Playgroud)
您只能通过其中一个索引排序表数据物理性,默认情况下,索引是用于主键的索引(主键唯一约束始终由索引支持).
如果要根据其他索引保留要存储的表数据的顺序,则应使用以下命令创建主键:
CONSTRAINT pk_UserID PRIMARY KEY NONCLUSTERED (U_Id)
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令创建聚簇索引:
CREATE CLUSTERED INDEX ix_Email ON Users (Email);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40306 次 |
| 最近记录: |