前事不忘,后事之师,不忘国耻!

 注册  找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1907|回复: 0

SQL Server:快速导入数据

[复制链接]

SQL Server:快速导入数据

[复制链接]
ehxz

主题

0

回帖

7251

积分

管理员

积分
7251
2007-11-26 14:25:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  本文介绍了几种不同的批量导入数据的方法、各种方法相应的实例及其所需的时间长短……   如果需要向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

  总结
  我们可以从以上测试的结果看出,各种不同的条件会影响数据导入所用的时间。因此,如果想要更快地导入数据,可以导入不含任何索引的表,在导入完成之后再建立索引。不过我们的测试中没有检测在导入完成后建立索引所需要的时间。
  另外,还要注意确保你的数据和日志文件有足够的空间来完成这个导入过程而不会导致文件自动增长。文件自动增长会极大地影响总导入的速度。
免责申明1、欢迎访问本站,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@dbabbs.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|DBA论坛中国 ( 鲁ICP备20017503号-2 )

GMT+8, 2024-12-4 01:23 , Processed in 0.030752 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表