Select id,Member_Account,XL_Name,XL_Type,XL_TypeS,ChuFD_provid1,ChuFD_cityid1,MuJD_provid2,MuJD_cityid2,MuJD_JTDD,XL_XingChengTS,FaTuanDate,BiaoMingJZDate,LxPerson,LxTel,BiaoMingAddress,ShiChang_Price,YouHui_Price,TongHang_Price,FeiYongBH,FeiYongBBH From (Select top 10 xianlu.* From xianlu where Member_Account='"&DID&"') as x where not exists(Select 1 From XianLu_Join Where x.id=DXLID and Sid='"&SID&"' and DID='"&DID&"' )这样看看
in不要主要的, order by adddate desc 是慢的关键,但如果不使用就得不到最新的结果,不知道有没有别的方法
where 和 order by 后面的字段建立索引,尽量不要 * ,要什么select什么。
Set rs=Conn.Execute("Select id,Member_Account,XL_Name,XL_Type,XL_TypeS,ChuFD_provid1,ChuFD_cityid1,MuJD_provid2,MuJD_cityid2,MuJD_JTDD,XL_XingChengTS,FaTuanDate,BiaoMingJZDate,LxPerson,LxTel,BiaoMingAddress,ShiChang_Price,YouHui_Price,TongHang_Price,FeiYongBH,FeiYongBBH From (Select top 20 xianlu.* From xianlu where Member_Account='"&DID&"' order by adddate desc) as x where x.id not in(Select DXLID From XianLu_Join Where Sid='"&SID&"' and DID='"&DID&"')") IF rs.Eof or rs.Bof Then Response.Write("没有要新插入线路!<br>") Else Do while not (rs.Eof or rs.Bof) Set CRs=Conn.Execute("insert into Xianlu(Member_Account,FA,XL_Name,XL_Type,ChuFD_provid1,lxTel) values('"&Member_Account&"','"&Member_FA&"','"&rs("XL_Name")&"','"&rs("XL_Type")&"','"&rs("ChuFD_provid1")&"','"&Member_Tel&"') Select @@IDENTITY As ID") Set CRs = CRs.NextRecordSet() ID=CRs.Fields("ID").value CRs.Close Conn.Execute("insert into Xianlu_join(SID,SXLID,DID,DXLID) values('"&SID&"',"&ID&",'"&DID&"','"&rs("ID")&"')") Response.Write("插入:"&rs("XL_Name")&"<br>") rs.Movenext Loop End IF rs.Close这个是全的,如果不执行do while里面的语句也不会出现超时的情况,回答楼上的:x.* 因为所有的我都须要,
not exists(Select 1 From XianLu_Join Where x.id=DXLID and Sid='"&SID&"' and DID='"&DID&"' )这样看看
IF rs.Eof or rs.Bof Then
Response.Write("没有要新插入线路!<br>")
Else
Do while not (rs.Eof or rs.Bof)
Set CRs=Conn.Execute("insert into Xianlu(Member_Account,FA,XL_Name,XL_Type,ChuFD_provid1,lxTel) values('"&Member_Account&"','"&Member_FA&"','"&rs("XL_Name")&"','"&rs("XL_Type")&"','"&rs("ChuFD_provid1")&"','"&Member_Tel&"') Select @@IDENTITY As ID")
Set CRs = CRs.NextRecordSet()
ID=CRs.Fields("ID").value
CRs.Close
Conn.Execute("insert into Xianlu_join(SID,SXLID,DID,DXLID) values('"&SID&"',"&ID&",'"&DID&"','"&rs("ID")&"')")
Response.Write("插入:"&rs("XL_Name")&"<br>")
rs.Movenext
Loop
End IF
rs.Close这个是全的,如果不执行do while里面的语句也不会出现超时的情况,回答楼上的:x.* 因为所有的我都须要,
时间用 datetime 8位的不重复的试一 下.