2011-05-30 67 views
0

在我的應用程序中,我將使用一個線程將數組插入數據表後將數組插入到數據表中。在啓動一個線程後,將此數據表插入到數據表中MYSQL數據庫。在第一個線程中,數據錶行的長度是可變的。 考慮例如第一DataTable包含12行 第二包含1000行 第三包含在更新我將要使用的dataadapter.update數據庫(數據表)700的行 這些所有線程停止在此線時第一釋放快速然後第三釋放然後第二次發佈。但我想發佈這些數字明智的&也增加了更新數據庫的性能。這個過程將緩慢工作。 任何一個已知的解決方案提高了寫入數據到MYSQL數據庫的性能,然後告訴我。 提前猛拉。提高了將數據寫入MYSQL數據庫的性能

回答

0

完成交易中的所有提交。

DataSet ds = new DataSet(); // obtain your DataSet 

SqlDataAdapter dataAdapter = new SqlDataAdapter(); 
SqlConnection cn = new SqlConnection(yourConnString); 
cn.Open(); 

SqlTransaction trans = cn.BeginTransaction(); 

SqlDataAdapter dataAdapter = new SqlDataAdapter(); 
dataAdapter.InsertCommand.Transaction = trans; 
dataAdapter.UpdateCommand.Transaction = trans; 

try 
{ 
    dataAdapter.Update(ds); /// or dataAdapter.Insert(ds) 
    trans.Commit(); 
} 
catch 
{ 
    trans.Rollback(); 
} 

cn.Close(); 

如果一次提交一行,它將比在事務中執行所有操作慢得多。試一試;我知道你說過MySql,所以你可能需要相應地調整示例。

+0

感謝您的幫助,它的工作正常,當我將使用此功能使用線程實例的數量,然後任何問題的連接打開和關閉 – vrushali 2011-05-30 06:38:52