高并发下数据插入问题
本帖最后由 waCtr 于 2013-09-15 18:06:37 编辑 一个简单插入压力测试
有50个表(tableAC1到tableAC50)和50个表(tableAB1到tableAB50) 我用的是webservice 客户端调用这个webservice 往里面插数据 客户端只需点击保存按钮一次 webservice中的这个插入方法 就将循环50次分别 往tableAC1到tableAC50 和 tableAB1到tableAB50 的表中插入这条数据
我是这样写的 不知道 在高并发下 效率怎样(目前自己单独测试 感觉点击一次有点慢 高并发估计很慢 ,而且有可能会 这个循环还没执行完 下个就开始了。 望大神给个解决思路)
不知道说明白了没, 代码如下。
[WebMethod]
//tast 实体
public bool InsertList(tast sct)
{
List<DateHelper> List = null;//一个用来保存sql语句和值的类
bool Test=false;//用于记录插入是否成功
string tableAC1= "tableAC1";//表tableAC1
string tableAB1= "tableAB1";//表tableAB1
for (int i = 1; i <=50; i++)
{
List = new List<DateHelper>();
string SQL1="insert into "+tableAC1+i+"(.....)values(....)";
SqlParameter[] Par1 = new SqlParameter[]{
..
...
};
..
...
string SQL2="insert into "+tableAB1+i+"(.....)values(....)"
SqlParameter[] Par1 = new SqlParameter[]{
..
...
};
..
...
SqlDbHelper db = new SqlDbHelper();
if (db.ExecuteSqlTran(List) > 0)//执行成功返回true否则else
{
Test = true;
}
else{
Test = false;
break;插入失败则直接跳出循环
}
}
}