为何较慢?
我用的sql语句通过chr(13)连起来的。执行的结果是正确的,但速度很慢,为何?在vb中是这样写的:
Set mCommand.ActiveConnection = db
sql = "insert printsptable(jsdm,title,dwmc,dwdz,dwyb,dwdh,lxr,ssbm) select distinct a.jsdm,'" + TITLE + "' ,b.dwmc,b.dwdz,b.dwyb,b.dwdh,b.lxr,b.ssbm from jh a left join dwxx b on a.jsdm=b.jsdm where a.nd=" + nd + " and a.jd=" + jd1 + "and a.jsdm not in (select distinct jsdm from jh where ysxz='dh' and nd=" + nd + " and jd=" + jd1 + ")"
For i = 0 To k
sql = sql + Chr(13) + "update printsptable set jh" + djk(0, i) + "1=jh.jhsl" + " from jh where printsptable.jsdm=jh.jsdm and jh.nd=" + nd + " and jh.jd=" + jd1 + " and jh.ysxz=" + "'" + djk(0, i) + "'"
sql = sql + Chr(13) + "update printsptable set jh" + djk(0, i) + "2=jh.jhsl" + " from jh where printsptable.jsdm=jh.jsdm and jh.nd=" + nd + " and jh.jd=" + jd2 + " and jh.ysxz=" + "'" + djk(0, i) + "'"
sql = sql + Chr(13) + "update printsptable set sj" + djk(0, i) + "1=jh.sjsl" + " from jh where printsptable.jsdm=jh.jsdm and jh.nd=" + CStr(CInt(nd) - 1) + " and jh.jd=" + jd1 + " and jh.ysxz=" + "'" + djk(0, i) + "'"
sql = sql + Chr(13) + "update printsptable set sj" + djk(0, i) + "2=jh.sjsl" + " from jh where printsptable.jsdm=jh.jsdm and jh.nd=" + CStr(CInt(nd) - 1) + " and jh.jd=" + jd2 + " and jh.ysxz=" + "'" + djk(0, i) + "'"
Next
mCommand.CommandText = sql
mCommand.Execute