sqlserver中批量插入數(shù)據(jù)方式的性能對比-深山老林博客園_第1頁
sqlserver中批量插入數(shù)據(jù)方式的性能對比-深山老林博客園_第2頁
sqlserver中批量插入數(shù)據(jù)方式的性能對比-深山老林博客園_第3頁
sqlserver中批量插入數(shù)據(jù)方式的性能對比-深山老林博客園_第4頁
sqlserver中批量插入數(shù)據(jù)方式的性能對比-深山老林博客園_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

深山老隨筆-70文章-評論-博客園首頁社區(qū)新隨筆聯(lián)系管理訂閱SQLServer中批數(shù)據(jù)方式的性能對昨天下午快下班的時(shí)候,無意中聽到公司兩位同事在探討批量向數(shù)據(jù)深山老隨筆-70文章-評論-博客園首頁社區(qū)新隨筆聯(lián)系管理訂閱SQLServer中批數(shù)據(jù)方式的性能對昨天下午快下班的時(shí)候,無意中聽到公司兩位同事在探討批量向數(shù)據(jù)趣,把自己的想法向兩位同事說了一下,于是有了本文數(shù)據(jù)的性能優(yōu)化問題,頓時(shí)來了:類 公司技術(shù)背景:數(shù)據(jù)過程實(shí)現(xiàn)數(shù)據(jù)庫。技術(shù)方案一壓縮時(shí)間下程序員寫出的第一個(gè)版本,僅僅為了完成任務(wù),沒有從程序上做任何優(yōu)化,實(shí)現(xiàn)方式是利用數(shù)據(jù)庫問類調(diào)問題過程,利用循環(huán)逐。很明顯,這種方式效率并不高,于是有了前面的兩位同效率低技術(shù)方案二,于 到了ADO.NET2.0的一個(gè)新的特性:SqlBulkCopy。有關(guān)這個(gè)由于是考慮到大數(shù)據(jù)量的批性能,很早之前我是親自做過性能測試的,效率非常高。這也是我向公司同的技術(shù)方案技術(shù)方案三利用SQLServer2008的新特性--表值參數(shù)(Table-ValuedParameter)。表值參數(shù)是SQLServer2008才的一個(gè)新特性,使用這個(gè)新特性可以把一個(gè)表類型作為參數(shù)傳遞到函數(shù)過程里。不過,它也有一特點(diǎn):表值參數(shù) 數(shù)目少于1000的行時(shí)具有很好的執(zhí)行性能技術(shù)方案四對于單列字段,可以把的數(shù)據(jù)進(jìn)行字符串拼接,最后再過程中拆分成數(shù)組,然后逐。查了下過程中參數(shù)的字符串的最大長度,然后除以字段的長度,算出一個(gè)值,很明顯是可以滿足要求的,只是種方式跟式比起來,似乎沒什么提高,因?yàn)樵矶际且粯拥乃阉骷夹g(shù)方案五考慮異步創(chuàng)建、消息隊(duì)列等等。這種方案無論從設(shè)計(jì)上還是開發(fā)上,難度都是有的常用技術(shù)方案一肯定是要被否掉的了,剩下的就是在技術(shù)方案二跟技術(shù)方案三之間做一個(gè)抉擇,鑒于公司目前的況,技術(shù)方案四跟技術(shù)方案五就先不考慮了接下來,為了讓大家對表值參數(shù)的創(chuàng)建跟調(diào)用有更感性的認(rèn)識,我將寫的更詳細(xì)些,文章可能也會稍長些,不注細(xì)節(jié)的朋友們可以選擇跳躍式的閱讀方式隨筆分類再說一下測試方案吧,測試總共分三組,一組 數(shù)量小于1000的,另外兩組數(shù)據(jù)量大于1000的(SharePo(1)計(jì)算機(jī)網(wǎng)絡(luò) 分別取10000跟1000000),每組測試又分10次,取平均值。怎么做都明白了,Let’s1.創(chuàng)建表為了簡單,表中只有一個(gè)字段,如下圖所示 象&設(shè)計(jì)模式數(shù)據(jù)結(jié)構(gòu)隨筆2012年92012年82012年72012年42011年72011年62011年42010年92010年72010年62010年52010年42010年32010年12009年12月2009年11月2009 象&設(shè)計(jì)模式數(shù)據(jù)結(jié)構(gòu)隨筆2012年92012年82012年72012年42011年72011年62011年42010年92010年72010年62010年52010年42010年32010年12009年12月2009年11月2009年82009年72009年62009年52009年42009年32009年22.創(chuàng)建表值參數(shù)類打開查詢分析器,然后在查詢分析器中執(zhí)行下列代碼 )打開企業(yè)管理器,按順序依次展開下列節(jié)點(diǎn)--數(shù)據(jù)庫、展開可編程性、類型、用戶自定義創(chuàng)建好的表值類型了如下圖所示執(zhí)行成功以后類型,就可以看文章分類隨筆積分與排最新評說 創(chuàng)建表值類型成功了Re:SQLServer2008的數(shù)據(jù)庫鏡像@Re:SQLServer2008的數(shù)據(jù)庫鏡像Re:SQLServer2008的數(shù)據(jù)庫鏡像請教個(gè)問題,在主庫正常運(yùn)行時(shí),QLSEE鏡像庫中能不能做增、刪、改的。Re:SQLServer2008的數(shù)據(jù)庫鏡像3.編過過程的代碼為創(chuàng)建通行證 可能在查詢分析器中,智能提示會提示表值類型有問題,會出現(xiàn)紅色下劃線(見下圖),不用理會繼續(xù)運(yùn)的代碼,完過程的創(chuàng)行呢?例如cmdlist=newDictionary<string,}}}private icSystem.Data.SqlCnt.SqlConnectionGetConn(string{System.Data.SqlCnt.SqlConnectioncon=null;dbkey=dbkey.Trim().ToLower();if{con=newSystem.Data.SqlCnt.SqlConnection(dbkey);conlist.Add(dbkey,}cmdlist=newDictionary<string,}}}private icSystem.Data.SqlCnt.SqlConnectionGetConn(string{System.Data.SqlCnt.SqlConnectioncon=null;dbkey=dbkey.Trim().ToLower();if{con=newSystem.Data.SqlCnt.SqlConnection(dbkey);conlist.Add(dbkey,}{con=}return}public ic{mandcmd=dbkey=if{cmd=newSystem.Datcmdlist.Add(dbkey,cmd);}{cmd=}return}#512011-12-2301:26|/////////過程///public{ExecuteBatchNonOuerySp(stringdbkey,stringProcedure,object[][]nt.SqlConnectioncon=mandcmd=iontrans=tmp=0,num=0,length=0,length02={length=prams.Length;con=GetConn(dbkey);cmd=GetCmd(dbkey);trans=con.Begran}catch(System.Exception{throw}//{//cmd=newmand(Procedure,cmd.Connection=mandText=Procedure;mandType= ion=dProcedure;for i=0;i<length;{cmd.Connection=mandText=Procedure;mandType= ion=dProcedure;for i=0;i<length;{{length02=for j=0;j<length02;{cmd.Parameters[j+1].Value=}tmp=cmd.ExecuteNonQuery();if(tmp>0){}{}}}}catch(System.Ex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論