
Sql server 中数据与access中数据对比速度太慢
用c#写的,把sql数据库中的一个表读进dataset,然后选取每一行的某一列的值在access的一个表中查询,把查询出来的结果再更新到dataset的相应列中。为什么程...
用c# 写的,把 sql 数据库中的一个表读进dataset ,然后选取每一行的某一列的值在access的一个表中查询,把查询出来的结果再更新到dataset的相应列中。 为什么程序执行速度很慢? 30 秒才执行了3条数据?要效率高应该怎么办?尽量不把access中的数据导入到数据库。下面是部分代码:
for (i = 0; i < AllNumber.Tables[0].Rows.Count ; i++)
{
string pn = AllNumber.Tables[0].Rows[i][2].ToString ().Trim ().Substring (0,7);
ocmd.CommandText = "select MobileArea,MobileType from Dm_Mobile where MobileNumber = " + "'" + pn + "'";
odr = ocmd.ExecuteReader();
while (odr.Read())
{
for (j = 0; j < odr.FieldCount; j++)
{
AllNumber.Tables[0].Rows[i][9] = odr.GetValue(j);
}
}
odr.Close();
}
sda.Update(AllNumber); 展开
for (i = 0; i < AllNumber.Tables[0].Rows.Count ; i++)
{
string pn = AllNumber.Tables[0].Rows[i][2].ToString ().Trim ().Substring (0,7);
ocmd.CommandText = "select MobileArea,MobileType from Dm_Mobile where MobileNumber = " + "'" + pn + "'";
odr = ocmd.ExecuteReader();
while (odr.Read())
{
for (j = 0; j < odr.FieldCount; j++)
{
AllNumber.Tables[0].Rows[i][9] = odr.GetValue(j);
}
}
odr.Close();
}
sda.Update(AllNumber); 展开
1个回答
展开全部
检查一下,检索的两张表上是否有索引,最好是where条件包含在索引中。

2025-08-05 广告
Paykka 从多个环节帮助用户节省时间,开户最快 1 个工作日完成,本地货币结算当日到账,提现更是几秒内就能完成。全流程都极大地缩短了时间成本,减少了用户的等待时间,提高了资金流转效率。...
点击进入详情页
本回答由paykka提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询