您的位置:首页 > 数据库

Linq 与sql方式 添加数据效率比较

2010-01-23 18:47 423 查看
所测试环境为:Ms sqlserver 2008,visual studio 2008

测试数据为10万条

 

 Linq方式 代码:

/// <summary>
/// Linq 方式
/// </summary>
public static void Linq_insert()
{
DataClassesDataContext dataContext = new DataClassesDataContext();

for (int i = 0; i < 100000; i++)
{
Bulletin bulletin = new Bulletin()
{
ID = 10000 + i,
content = "18:00直播亚冠首尔VS山东,敬请期待!!!",
date = DateTime.Now,
title = "18:00直播亚冠首尔VS山东"
};
dataContext.Bulletin.InsertOnSubmit(bulletin);
}
dataContext.SubmitChanges();
}


 

SQL 方式  代码:

public static void  SQL_insert()
{
SqlConnectionStringBuilder strB = new SqlConnectionStringBuilder();
strB.DataSource = ".";
strB.InitialCatalog = "MyBulltin";
strB.UserID = "sa";
strB.Password = "123";
SqlConnection conn = new SqlConnection(strB.ToString());
SqlCommand comm = null;
string sql = "insert into Bulletin(id,content,date,title) values(@id,@content,@date,@title)";
comm = new SqlCommand(sql, conn);
conn.Open();
for (int i = 0; i < 100000; i++)
{
SqlParameter[] param=new SqlParameter[]{
new SqlParameter("@id",i+10000),
new SqlParameter("@content","18:00直播亚冠首尔VS山东,敬请期待!!!"),
new SqlParameter("@date",DateTime.Now),
new SqlParameter("@title","18:00直播亚冠首尔VS山东")
};
comm.CommandText = sql;
comm.Parameters.AddRange(param);
comm.ExecuteNonQuery();
comm.CommandText = string.Empty;
comm.Parameters.Clear();
}
conn.Close();
}


 

 Main 方法代码:

DateTime d1 = DateTime.Now;
Console.WriteLine("开始:" + d1.ToLocalTime().ToString());
//TestSQL_Linq.Linq_insert();
TestSQL_Linq.SQL_insert();
DateTime d2 = DateTime.Now;
Console.WriteLine("结束:" + d2.ToLocalTime().ToString());
Console.WriteLine("共需:" + (d2 - d1));


 

运行结果:

Linq 方式:

  开始:2010/1/23 18:49:46
  结束:2010/1/23 18:53:16
  共需:00:03:29.5739869

 

Sql 方式:

开始:2010/1/23 19:08:31
结束:2010/1/23 19:12:52
共需:00:04:21.0449310

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