如何实现SQLServer导入数据

 我来答
福喜900
推荐于2016-09-07 · TA获得超过6.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:1亿
展开全部

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


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


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


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


  3、表不含有任何索引


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


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


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


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


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


  测试一


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


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

  测试2

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

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

测试三


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

总结

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

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

今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式