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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

DataTable操作中的性能問題

2019-11-18 16:35:33
字體:
供稿:網(wǎng)友

      最近的一項工作是關(guān)于性能提升方面的。要做的第一個事情是要把很多同類型的DataTable合并到一起,查了很多關(guān)于DataTable的相關(guān)函數(shù)以后,我決定用Merge函數(shù)來合并這些DataTable。
      DataTable[] srcTables = ... ;
      foreach( DataTable src in srcTables )
      {
         dest.Merge( src ) ;
      }
      但是測試的結(jié)果讓我很是失望,性能不是一般的不好。經(jīng)過調(diào)查發(fā)現(xiàn)性能的瓶頸在Merge函數(shù)這里。后來經(jīng)過測試,發(fā)現(xiàn)如果用下面的代碼:
      DataTable[] srcTables = ... ;
      foreach( DataTable src in srcTables )
      {
         foreach( DataRow row in src.Rows)
         {
            dest.ImportRow( row ) ;     
         }
      }
  
      結(jié)果讓人驚奇的是,下面的代面的速度是上面的代碼速度的100倍!

      還做了一個事情,就是對DataTable進(jìn)行filter的時候 ,我的一個同事和我說了以下的代碼:
      DataView dv = dt.DefaultView ;
      dv.RowFilter = filter ;
      DataTable result = dv.ToTable() ;
      上面的代碼是能工作的,但是它的性能一點(diǎn)都不好,后來我把上面的代碼改成了:
      DataRow[] rows = dv.Select( filter ) ;
      foreach( DataRow row in rows )
      {
         result.ImportRow(row) ;
      }

      也有數(shù)十倍的性能提高。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴义市| 德州市| 凤山市| 锦屏县| 泰兴市| 伽师县| 巴楚县| 共和县| 宕昌县| 东港市| 西峡县| 武邑县| 蕉岭县| 米脂县| 万盛区| 巴林左旗| 双牌县| 武平县| 渭源县| 陆良县| 家居| 青浦区| 绥阳县| 平潭县| 五家渠市| 华蓥市| 武义县| 福州市| 澜沧| 无棣县| 光山县| 永嘉县| 新蔡县| 黔江区| 托克逊县| 老河口市| 安义县| 霸州市| 宾川县| 丰宁| 海宁市|