前提・実現したいこと
C#でDataSetにXMLファイルを読み込ませているのですが、
もう少し早くできないかと考えております。
現在、2000行程度のデータ読み込みで、30秒かかっております。
BeginLoadDataとEndLoadDataを使用した場合を使用すると早くなるという
記事を見つけて試してみましたが、逆に遅くなりました。
何か早くする方法があればアドバイスをください。
該当のソースコード
BeginLoadDataとEndLoadDataを使用しない場合
C#
1 public static void LoadData(this DataSet1 DS, string filename) 2 { 3 if (!File.Exists(filename)) return; 4 try 5 { 6 DS.Clear(); 7 DS.ReadXml(filename); //ここで30秒かかっている 8 return; 9 }catch(Exception) 10 { 11 Console.WriteLine("データのロードが例外で失敗しました。"); 12 return; 13 } 14 } 15
BeginLoadDataとEndLoadDataを使用した場合
C#
1 public static void LoadData(this DataSet1 DS, string filename) 2 { 3 if (!File.Exists(filename)) return; 4 try 5 { 6 foreach(DataTable dt in DS.Tables) 7 { 8 dt.BeginLoadData(); 9 } 10 DS.Clear(); 11 DS.ReadXml(filename); 12 return; 13 }catch(Exception) 14 { 15 Console.WriteLine("データのロードが例外で失敗しました。"); 16 return; 17 } 18 finally 19 { 20 foreach (DataTable dt in DS.Tables) 21 { 22 dt.EndLoadData(); //ここで50秒かかっている 23 } 24 } 25 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/30 03:54