2009-02-10 85 views
1

我有用于邻近搜索的大型zip /邮政编码数据库。有大约100万条记录。不知何故,我没有将主键添加到表中,现在我必须添加它,因为全表扫描会导致搜索大约需要3秒。当我生成一个脚本以将其添加到SSMS中时,操作会超时,因为它正在创建一个新表并且对数据非常重要。有任何想法吗?将主键添加到共享数据库服务器上的大型表中

回答

1

生成脚本并将其粘贴到查询中并在该处运行。确保你的SSMS在选项中没有设置执行超时。

-2

ALTER TABLE ADD PRIMARY KEY(等等......)

应该在MySQL中工作。

4

确保SSMS选项/查询执行中的执行超时设置为0(无超时)。然后使用类似于以下的查询,将表/列/键名称替换为您的名称。根据需要调整参数。

ALTER TABLE tableName WITH NOCHECK 
ADD CONSTRAINT PK_tableName PRIMARY KEY CLUSTERED (columnName) 
WITH (FILLFACTOR = 75, ONLINE = ON, PAD_INDEX = ON) 

Reference

0

为什么不创建唯一索引?

相关问题