Lum*_*mpy 2 index sql-server-2008 database-design sql-server
我继承了一个数据库,其中没有在表上定义主键。也没有分配给表的聚集索引。
如果我执行一个更改表来分配主键,这会导致 SQL Server 也创建聚集索引吗?如果是这样,由于数据在硬盘上重新定位,我应该期望数据库速度变慢吗?
是的,默认情况下 SQL Server 会将主键创建为群集,但您不必接受默认值。
ALTER TABLE dbo.foo
ADD CONSTRAINT pk PRIMARY KEY (bar); -- clustered
ALTER TABLE dbo.foo
ADD CONSTRAINT pk PRIMARY KEY CLUSTERED (bar); -- clustered
ALTER TABLE dbo.foo
ADD CONSTRAINT pk PRIMARY KEY NONCLUSTERED (bar); -- non-clustered
Run Code Online (Sandbox Code Playgroud)
是的,您会在此处看到一些 I/O 活动,因此如果它是一个繁忙的系统,最好将其保存在安静的时间或维护期间。
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |