提高了将数据写入MYSQL数据库的性能
问题描述:
在我的应用程序中,我将使用一个线程将数组插入数据表后将数组插入到数据表中。在启动一个线程后,将此数据表插入到数据表中MYSQL数据库。在第一个线程中,数据表行的长度是可变的。 考虑例如第一DataTable包含12行 第二包含1000行 第三包含在更新我将要使用的dataadapter.update数据库(数据表)700的行 这些所有线程停止在此线时第一释放快速然后第三释放然后第二次发布。但我想发布这些数字明智的&也增加了更新数据库的性能。这个过程将缓慢工作。 任何一个已知的解决方案提高了写入数据到MYSQL数据库的性能,然后告诉我。 提前猛拉。提高了将数据写入MYSQL数据库的性能
答
完成交易中的所有提交。
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,所以你可能需要相应地调整示例。
感谢您的帮助,它的工作正常,当我将使用此功能使用线程实例的数量,然后任何问题的连接打开和关闭 – vrushali 2011-05-30 06:38:52