您的位置:首页 > 数据库

c# 将文本中的数据快速导入到数据库(200万左右的数据量)

2014-03-06 15:06 162 查看
1、sql2008中 list表,只有一个字段 Lvalue

2、文本大约256万的数据量

3、测试结果:用时36秒!

string connStr = @"Data Source=.\SQLEXPRESS;Initial Catalog=test1;Persist Security Info=True;User ID=sa;Password=123456";
DataTable dt = new DataTable();
dt.Columns.Add("Lvalue");
Stopwatch sw = new Stopwatch();
sw.Start();
IEnumerable lines = File.ReadLines(@"F:\1.txt", Encoding.Default);
DataRow row ;
foreach (string str in lines)
{

try
{
row = dt.NewRow();
row["Lvalue"] = str;
dt.Rows.Add(row);
}
catch (Exception ex)
{
//数据量超大时,会内存溢出
throw;
}

}
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connStr))
{

bulkCopy.DestinationTableName = "list";

bulkCopy.ColumnMappings.Add("Lvalue", "Lvalue");
bulkCopy.WriteToServer(dt);

}
long ssww= sw.ElapsedMilliseconds;
sw.Stop();

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: