弟有一问题 : 对N个有几万条数据的表的连接查询如何提高查询速度?
弟近日负责一考勤项目,里面的排班表、刷卡数据表以及别的表都有好几万条数据,最多的一个有6万条,采用Access数据库,Dao连接,查询的时候发现速度奇慢,做一个300人的考勤月报表需要差不多两天,特向各位学长求救。
典型代码如下所示:
CX_1 = "UPDATE PBB P,SKDJ S,KQGZ K,RS R SET P.CQ" & Fld_1 & "='准时上班' WHERE P.GH=S.GH AND S.SJ>= " & _
"DATEADD('n',-K.SXSJ" & Fld_1 & "_1,P.SJ" & Fld_1 & "_1) AND S.SJ<= DATEADD('n',K.CDSJ" & Fld_1 & ",P.SJ" & _
Fld_1 & "_1) AND P.CHECK=FALSE AND P.SB" & Fld_1 & "=TRUE " & _
"AND P.SJ" & Fld_1 & "_1<#" & Format(Now, "YYYY-MM-DD HH:MM:SS") & "# AND P.RQ>= #" & _
RQV_1 & "# AND P.RQ<= #" & RQV_2 & "# AND R.GH=P.GH AND R.KQGZBH=K.KQGZBH AND " & TJ_1
DB_1.Execute CX_1, 128
此语句执行将近5秒钟,能够优化到1秒钟是最理想的,弟已经黔驴技穷了