国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

SQL Server中快速導(dǎo)入數(shù)據(jù)的方法對(duì)比

2024-08-31 00:43:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文介紹了幾種不同的批量導(dǎo)入數(shù)據(jù)的方法、各種方法相應(yīng)的實(shí)例及其所需的時(shí)間長(zhǎng)短……

如果需要向SQL Server批量導(dǎo)入數(shù)據(jù),根據(jù)導(dǎo)入的選項(xiàng)和表中的索引設(shè)置,數(shù)據(jù)導(dǎo)入的時(shí)間可能會(huì)在不同情況下相差甚遠(yuǎn)。如何能夠把批量導(dǎo)入的過(guò)程盡量少花時(shí)間呢?在這里我們將會(huì)介紹幾種不同的批量導(dǎo)入數(shù)據(jù)的方法、各種方法相應(yīng)的實(shí)例及其所需的時(shí)間長(zhǎng)短。

在我們的測(cè)試中我們采取了六種不同的數(shù)據(jù)導(dǎo)入方法:

1. 表含有一個(gè)聚集索引(clustered index)和兩個(gè)非聚集索引(non-clustered index)

2. 表只含有一個(gè)聚集索引

3. 表不含有任何索引

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

5. 表只含有一個(gè)聚集索引并且有TABLOCK指示

6. 表含有一個(gè)聚集索引一個(gè)聚集索引并且有TABLOCK指示

另外,測(cè)試所用數(shù)據(jù)庫(kù)在測(cè)試前設(shè)置為批日志恢復(fù)模式。

這些測(cè)試中,每次迭代后數(shù)據(jù)庫(kù)和日志都會(huì)清理日志文件,而且實(shí)施每一個(gè)步驟之前都將表刪除,然后重新創(chuàng)建新表。

測(cè)試一

第一次運(yùn)行是使用一個(gè)含有121317行的數(shù)據(jù)集和一個(gè)空表。每次運(yùn)行之前都會(huì)重新創(chuàng)建符合測(cè)試的表。

如下表結(jié)果所示,我們可以看出根據(jù)你用來(lái)導(dǎo)入數(shù)據(jù)的不同程序,運(yùn)行時(shí)間有所不同。

ID 測(cè)試 運(yùn)行(1) 運(yùn)行(2)
1 表含有一個(gè)聚集索引(clustered index)和兩個(gè)非聚集索引(non-clustered index) 5.1 5.3
2 表只含有一個(gè)聚集索引 3.2 3.0
3 表不含有任何索引 1.4 1.4
4 表只含有一個(gè)聚集索引并且有TABLOCK指示 1.2 1.3
5 表只含有一個(gè)聚集索引并且有TABLOCK指示 2.8 2.5
6 表含有一個(gè)聚集索引一個(gè)聚集索引并且有TABLOCK指示 4.1 3.9

測(cè)試2

第二次運(yùn)行是使用一個(gè)含有242634行的數(shù)據(jù)集和一個(gè)空表。每次運(yùn)行之前都會(huì)重新創(chuàng)建符合測(cè)試的表。

我們可以看到這些運(yùn)行的時(shí)間有一些差別。

ID Test 運(yùn)行(1) 運(yùn)行(2)
1 表含有一個(gè)聚集索引(clustered index)和兩個(gè)非聚集索引(non-clustered index) 14.0 13.8
2 表只含有一個(gè)聚集索引 6.9 7.3
3 表不含有任何索引 2.7 2.7
4 表只含有一個(gè)聚集索引并且有TABLOCK指示 2.5 2.5
5 表只含有一個(gè)聚集索引并且有TABLOCK指示 5.6 5.5
6 表含有一個(gè)聚集索引一個(gè)聚集索引并且有TABLOCK指示 8.4 8.7

測(cè)試三

在這個(gè)測(cè)試中,我們運(yùn)行了兩個(gè)導(dǎo)入過(guò)程。第一次導(dǎo)入使用了一個(gè)含有121317行和一個(gè)空表,然后在同一個(gè)表中導(dǎo)入另外121317條記錄。每次運(yùn)行之前都會(huì)重新創(chuàng)建符合測(cè)試的表。

ID 測(cè)試 運(yùn)行(1) 運(yùn)行(2) 總時(shí)間
1 表含有一個(gè)聚集索引(clustered index)和兩個(gè)非聚集索引(non-clustered index) 8.4 7.7 16.1
2 表只含有一個(gè)聚集索引 3.5 3.2 6.7
3 表不含有任何索引 1.5 1.4 2.9
4 表只含有一個(gè)聚集索引并且有TABLOCK指示 1.3 1.3 2.6
5 表只含有一個(gè)聚集索引并且有TABLOCK指示 3.1 4.0 7.1
6 表含有一個(gè)聚集索引一個(gè)聚集索引并且有TABLOCK指示 4.0 8.5 12.5

總結(jié)

我們可以從以上測(cè)試的結(jié)果看出,各種不同的條件會(huì)影響數(shù)據(jù)導(dǎo)入所用的時(shí)間。因此,如果想要更快地導(dǎo)入數(shù)據(jù),可以導(dǎo)入不含任何索引的表,在導(dǎo)入完成之后再建立索引。不過(guò)我們的測(cè)試中沒有檢測(cè)在導(dǎo)入完成后建立索引所需要的時(shí)間。

另外,還要注意確保你的數(shù)據(jù)和日志文件有足夠的空間來(lái)完成這個(gè)導(dǎo)入過(guò)程而不會(huì)導(dǎo)致文件自動(dòng)增長(zhǎng)。文件自動(dòng)增長(zhǎng)會(huì)極大地影響總導(dǎo)入的速度。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙海市| 肥城市| 潢川县| 成都市| 鹰潭市| 朝阳市| 措勤县| 德保县| 阿鲁科尔沁旗| 阿瓦提县| 荆门市| 潍坊市| 文昌市| 富宁县| 浙江省| 江川县| 梅河口市| 宜川县| 拜城县| 岳阳县| 高台县| 延安市| 祁东县| 濉溪县| 铁岭县| 梧州市| 讷河市| 湛江市| 余江县| 精河县| 西林县| 新疆| 镇赉县| 锦屏县| 开鲁县| 漠河县| 根河市| 三亚市| 方山县| 西藏| 周宁县|