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

首頁 > 數據庫 > SQL Server > 正文

BULK INSERT如何將大量數據高效地導入SQL Server

2024-08-31 00:55:38
字體:
來源:轉載
供稿:網友
BULK INSERT如何將大量數據高效地導入SQL Server轉載自:http://database.51cto.com/art/201108/282631.htmBULK INSERT如何將大量數據高效地導入SQL Server

本文我們詳細介紹了BULK INSERT將大量數據高效地導入SQL Server數據庫的方法,希望本次的介紹能夠對您有所幫助。

AD:WOT2014課程推薦:實戰MSA:用開源軟件搭建微服務系統

在實際的工作需要中,我們有時候需將大量的數據導入到數據庫中。這時候我們不得不考慮的就是效率問題。本文我們就介紹了一種將大量數據高效地導入SQL Server數據庫的方法,該方法是使用BULK INSERT來實現的,接下來就讓我們來一起了解一下這部分內容。

源數據(文本文件)

下載了大量的股票歷史數據,都是文本格式的:

BULK INSERT如何將大量數據高效地導入SQL Server

每個文件第一行包含股票代碼,股票名稱,數據類型.第二行是數據列的名稱:

BULK INSERT如何將大量數據高效地導入SQL Server

數據表

在數據庫中新建了一個數據表TestStock,并設置以下字段,但沒有關于"成交額"的字段,因為以后的計算不會用到這個數據。另外這里關于價格的字段沒有使用money數據類型,decimal足矣。

BULK INSERT如何將大量數據高效地導入SQL Server

編寫格式化文件

當前數據的格式化文件為:

  1. <?xmlversionxmlversion="1.0"?>
  2. <BCPFORMAT
  3. xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5. <RECORD>
  6. <FIELDIDFIELDID="1"xsi:type="CharTerm"TERMINATOR=","/>
  7. <FIELDIDFIELDID="2"xsi:type="CharTerm"TERMINATOR=","/>
  8. <FIELDIDFIELDID="3"xsi:type="CharTerm"TERMINATOR=","/>
  9. <FIELDIDFIELDID="4"xsi:type="CharTerm"TERMINATOR=","/>
  10. <FIELDIDFIELDID="5"xsi:type="CharTerm"TERMINATOR=","/>
  11. <FIELDIDFIELDID="6"xsi:type="CharTerm"TERMINATOR=","/>
  12. <FIELDIDFIELDID="7"xsi:type="CharTerm"TERMINATOR="/r/n"/>
  13. </RECORD>
  14. <ROW>
  15. <COLUMNSOURCECOLUMNSOURCE="1"NAME="Date"xsi:type="SQLDATE"/>
  16. <COLUMNSOURCECOLUMNSOURCE="2"NAME="OpenPRice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/>
  17. <COLUMNSOURCECOLUMNSOURCE="3"NAME="HighPrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/>
  18. <COLUMNSOURCECOLUMNSOURCE="4"NAME="LowPrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/>
  19. <COLUMNSOURCECOLUMNSOURCE="5"NAME="ClosePrice"xsi:type="SQLDECIMAL"PRECISION="6"SCALE="2"/>
  20. <COLUMNSOURCECOLUMNSOURCE="6"NAME="Volumn"xsi:type="SQLINT"/>
  21. </ROW>
  22. </BCPFORMAT>

暫且先保存在C盤目錄下吧,文件名叫BCPFORMAT.xml

編寫BULKINSERT語句:

  1. BULKINSERTTestStock
  2. FROM'C:/SH600475.txt'
  3. WITH(
  4. FORMATFILE='C:/BCPFORMAT.xml',
  5. FIELDTERMINATOR=',',
  6. ROWTERMINATOR='/r/n')

執行BULKINSERT的速度很快,結果如下:

BULK INSERT如何將大量數據高效地導入SQL Server

同樣的效果,如果從文本中讀一行記錄,執行一次INSERTINTO語句的話,需要10秒左右,由此可見BULKINSERT的高效。

關于使用BULK INSERT將大量數據導入SQL Server數據庫的知識就介紹到這里了,希望本次的介紹能夠對您有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商都县| 南澳县| 扬州市| 西贡区| 焉耆| 聊城市| 青岛市| 南丹县| 偃师市| 桐庐县| 谷城县| 磴口县| 张家界市| 讷河市| 三明市| 伊川县| 峡江县| 丰都县| 苍梧县| 五华县| 安陆市| 青阳县| 磴口县| 华容县| 泰安市| 博客| 孟州市| 姚安县| 左云县| 梁山县| 乡城县| 多伦县| 色达县| 广河县| 凤阳县| 溧水县| 池州市| 兴文县| 二连浩特市| 泰兴市| 翁牛特旗|