本文介绍了几种不同的 批量 导入 数据 的方法、各种方法相应的实例及其所需的时间长短…… 如果需要向 数据 库专区 href="http://dev.yesky.com/devsjk" target=_blank>SQL Server 批量 导入 数据 ,根据 导入 的选项和表中的索引设置, 数据 导入 的时间可
本文介绍了几种不同的批量导入数据的方法、各种方法相应的实例及其所需的时间长短……
如果需要向数据库专区 href="http://dev.yesky.com/devsjk" target=_blank>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 |
总结
我们可以从以上测试的结果看出,各种不同的条件会影响数据导入所用的时间。因此,如果想要更快地导入数据,可以导入不含任何索引的表,在导入完成之后再建立索引。不过我们的测试中没有检测在导入完成后建立索引所需要的时间。
另外,还要注意确保你的数据和日志文件有足够的空间来完成这个导入过程而不会导致文件自动增长。文件自动增长会极大地影响总导入的速度。

本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询的方法,文中通过示例代码介绍的非常详细,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于SQL server的相关知识,其中主要介绍了SQL SERVER没有自带的解析json函数,需要自建一个函数(表值函数),下面介绍关于SQL Server解析/操作Json格式字段数据的相关资料,希望对大家有帮助。

如何优化sql中的orderBy语句?下面本篇文章给大家介绍一下优化sql中orderBy语句的方法,具有很好的参考价值,希望对大家有所帮助。

monacoeditor创建//创建和设置值if(!this.monacoEditor){this.monacoEditor=monaco.editor.create(this._node,{value:value||code,language:language,...options});this.monacoEditor.onDidChangeModelContent(e=>{constvalue=this.monacoEditor.getValue();//使value和其值保持一致i

本篇文章给大家带来了关于SQL server的相关知识,开窗函数也叫分析函数有两类,一类是聚合开窗函数,一类是排序开窗函数,下面这篇文章主要给大家介绍了关于SQL中开窗函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下。

0x01前言概述小编又在MySQL中发现了一个Double型数据溢出。当我们拿到MySQL里的函数时,小编比较感兴趣的是其中的数学函数,它们也应该包含一些数据类型来保存数值。所以小编就跑去测试看哪些函数会出现溢出错误。然后小编发现,当传递一个大于709的值时,函数exp()就会引起一个溢出错误。mysql>selectexp(709);+-----------------------+|exp(709)|+-----------------------+|8.218407461554972

当某些sql因为不知名原因堵塞时,为了不影响后台服务运行,想要给sql增加执行时间限制,超时后就抛异常,保证后台线程不会因为sql堵塞而堵塞。一、yml全局配置单数据源可以,多数据源时会失效二、java配置类配置成功抛出超时异常。importcom.alibaba.druid.pool.DruidDataSource;importcom.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;importorg.apache.

monacoeditor创建//创建和设置值if(!this.monacoEditor){this.monacoEditor=monaco.editor.create(this._node,{value:value||code,language:language,...options});this.monacoEditor.onDidChangeModelContent(e=>{constvalue=this.monacoEditor.getValue();//使value和其值保持一致i


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境