首页 新闻 会员 周边 捐助

如何批量插入数据(sql server 2005)

0
悬赏园豆:10 [已解决问题] 解决于 2012-06-14 09:37
INSERT INTO [Relation]([CustomerId],[UserId],[CreateDate])
SELECT [Id],1,GETDATE() FROM [Customers]

现在Customers表有20多万条数据,也就是说这条语句要一次性往Relation表插入20多万条数据,要执行好长一段时间。请问有其他更好的办法实现相同的效果吗???

我刚放到SQL Server里面执行,而且测试数据库只有136577条,用了4分16秒。

俗人...的主页 俗人... | 初学一级 | 园豆:83
提问于:2012-06-13 11:23
< >
分享
最佳答案
0

试试 SELECT INTO

收获园豆:10
dudu | 高人七级 |园豆:30948 | 2012-06-13 11:33

SELECT INTO貌似会创建一个新表。我是想插入现有的表。

俗人... | 园豆:83 (初学一级) | 2012-06-13 11:54

@彪悍人生...: [Relation]这张表的聚集索引用的是什么

dudu | 园豆:30948 (高人七级) | 2012-06-13 12:01

@dudu: 

一个自增长的主键Id

俗人... | 园豆:83 (初学一级) | 2012-06-13 15:10

@彪悍人生...: 去掉这个聚集索引试试

dudu | 园豆:30948 (高人七级) | 2012-06-13 15:20

@dudu: 

那不是得去除Id的主键?但是我现在不能动他的表结构。。

俗人... | 园豆:83 (初学一级) | 2012-06-13 16:57

@彪悍人生...: 不是去主键,只是去聚集索引,其他都不动

dudu | 园豆:30948 (高人七级) | 2012-06-13 16:59

@dudu: 

我在Id上建立主键,他自动会给我在Id上建立聚集索引,取消聚集索引还得取消Id的主键。

俗人... | 园豆:83 (初学一级) | 2012-06-13 17:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册