CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

SQL Server:快速导入数据

作者: Echo,  出处:IT专家网, 责任编辑: 李书琴, 
2007-11-22 16:33
  本文介绍了几种不同的批量导入数据的方法、各种方法相应的实例及其所需的时间长短……

  【IT专家网独家】如果需要向SQL Server批量导入数据,根据导入的选项和表中的索引设置,数据导入的时间可能会在不同情况下相差甚远。如何能够把批量导入的过程尽量少花时间呢?在这里我们将会介绍几种不同的批量导入数据的方法、各种方法相应的实例及其所需的时间长短。

  在我们的测试中我们采取了六种不同的数据导入方法:

  1. 表含有一个聚集索引(clustered index)和两个非聚集索引(non-clustered index)

  2. 表只含有一个聚集索引

  3. 表不含有任何索引

  4. 表不含有任何索引并且有TABLOCK指示

  5. 表只含有一个聚集索引并且有TABLOCK指示

  6. 表含有一个聚集索引一个聚集索引并且有TABLOCK指示

  另外,测试所用数据库在测试前设置为批日志恢复模式。

  这些测试中,每次迭代后数据库和日志都会清理日志文件,而且实施每一个步骤之前都将表删除,然后重新创建新表。

  测试一

  第一次运行是使用一个含有121317行的数据集和一个空表。每次运行之前都会重新创建符合测试的表。

  如下图结果所示,我们可以看出根据你用来导入数据的不同程序,运行时间有所不同。

 

ID

测试

运行(1)

运行(2)

1

表含有一个聚集索引(clustered index和两个非聚集索引(non-clustered index

5.1

5.3

2

表只含有一个聚集索引

3.2

3.0

3

表不含有任何索引

1.4

1.4

4

表只含有一个聚集索引并且有TABLOCK指示

1.2

1.3

5

表只含有一个聚集索引并且有TABLOCK指示

2.8

2.5

6

表含有一个聚集索引一个聚集索引并且有TABLOCK指示

4.1

3.9

  测试2

  第二次运行是使用一个含有242634行的数据集和一个空表。每次运行之前都会重新创建符合测试的表。

  我们可以看到这些运行的时间有一些差别。

 

ID

Test

运行(1)

运行(2)

1

表含有一个聚集索引(clustered index和两个非聚集索引(non-clustered index

14.0

13.8

2

表只含有一个聚集索引

6.9

7.3

3

表不含有任何索引

2.7

2.7

4

表只含有一个聚集索引并且有TABLOCK指示

2.5

2.5

5

表只含有一个聚集索引并且有TABLOCK指示

5.6

5.5

6

表含有一个聚集索引一个聚集索引并且有TABLOCK指示

8.4

8.7

  测试三

  在这个测试中,我们运行了两个导入过程。第一次导入使用了一个含有121317行和一个空表,然后在同一个表中导入另外121317条记录。每次运行之前都会重新创建符合测试的表。

 

ID

测试

运行(1)

运行(2)

总时间

1

表含有一个聚集索引(clustered index和两个非聚集索引(non-clustered index

8.4

7.7

16.1

2

表只含有一个聚集索引

3.5

3.2

6.7

3

表不含有任何索引

1.5

1.4

2.9

4

表只含有一个聚集索引并且有TABLOCK指示

1.3

1.3

2.6

5

表只含有一个聚集索引并且有TABLOCK指示

3.1

4.0

7.1

6

表含有一个聚集索引一个聚集索引并且有TABLOCK指示

4.0

8.5

12.5

  总结

  我们可以从以上测试的结果看出,各种不同的条件会影响数据导入所用的时间。因此,如果想要更快地导入数据,可以导入不含任何索引的表,在导入完成之后再建立索引。不过我们的测试中没有检测在导入完成后建立索引所需要的时间。

  另外,还要注意确保你的数据和日志文件有足够的空间来完成这个导入过程而不会导致文件自动增长。文件自动增长会极大地影响总导入的速度。

 

  IT专家网原创文章,未经许可,严禁转载!

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i