SQL Server Update 语句个别记录运行较慢,其他记录速度正常,求帮助
先描述一下情况
我的程序使用WCF从客户端向服务器上传数据,每次上传64条记录。WCF服务器收到64条记录后通过一个for循环依次将每条记录写入SQL
Server 2008数据库
foreach(Data d in Datas)
{
bool isExist = SelectInDB("Select count(*) from ReceiveData Where id=@id And tableNO=@tableNO And Board=@Board")
if (isExist)
InsertToDB();
else
UpdateToDB("Update ReceiveData Set A=@A, B=@B Where id=@id And tableNO=@tableNO And Board=@Boards");
}
大部分情况下都工作的非常好,通常64条记录需要2秒钟的时间。
但是个别记录需要的时间就比较长了,大约每条记录1秒钟,64条记录需要一份多钟。
这种情况的区分可以通过id字段分别出来,(id,使用GUID)。ReceiveData表的主键为id,TableNO, Board.
也就是说只要id相同那么就都会慢。而其他的id速度就都是正常的。
ReceiveData表做了分区140多万条记录
自己找了一下午问题,也没有个头绪,希望有知道原因帮忙,能给指引一下方向也好。先谢过