对N个有几万条数据的表的连接查询如何提高查询速度?

win98ddk 2003-10-18 12:12:33
弟近日负责一考勤项目,里面的排班表、刷卡数据表以及别的表都有好几万条数据,最多的一个有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秒钟是最理想的,弟已经黔驴技穷了
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheny1234 2003-10-22
  • 打赏
  • 举报
回复
用between会再快一点,试试有多少!
win98ddk 2003-10-21
  • 打赏
  • 举报
回复
也快不了很多,弟反复检测,发现这一部分化的时间最多
,去掉后只需要2-3秒钟,不知道怎么进行优化?

S.SJ>= DATEADD('n',-K.SXSJA_1,P.SJA_1) AND
S.SJ<= DATEADD('n',K.CDSJA,P.SJA_1) AND
chenyubang 2003-10-20
  • 打赏
  • 举报
回复
增加索引
cheny1234 2003-10-20
  • 打赏
  • 举报
回复
"UPDATE PPB SET CQ" & Fld_1 & "='准时上班'
from ((PBB P inner join SKDJ S on P.GH=S.GH) inner join KQGZ K on R.KQGZBH=K.KQGZBH) inner join RS R on R.GH=P.GH
WHERE 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 " & TJ_1
zhouwenh 2003-10-20
  • 打赏
  • 举报
回复
数据量这么大了,怎么不用SQL Server?
changechange 2003-10-19
  • 打赏
  • 举报
回复
同意上述意见
StarSon 2003-10-18
  • 打赏
  • 举报
回复
1、对联接的主键和外键建立索引
2、尽量选取主表的字段
3、尽量少选取字段
yoki 2003-10-18
  • 打赏
  • 举报
回复
1:增加索引
2:改变各条件的排列顺序
[入门数据分析的第一堂课]这是一门为数据分析小白量身打造的课程,你从网络或者公众号收集到很多关于数据分析的知识,但是它们零散不成体系,所以第一堂课首要目标是为你介绍:Ø  什么是数据分析-知其然才知其所以然Ø  为什么要学数据分析-有目标才有动力Ø  数据分析的学习路线-有方向走得更快Ø  数据分析的模型-分析之道,快速形成分析思路Ø  应用案例及场景-分析之术,掌握分析方法[哪些同学适合学习这门课程]想要转行做数据分析师的,零基础亦可工作中需要数据分析技能的,例如运营、产品等对数据分析感兴趣,想要更多了解的[你的收获]n  会为你介绍数据分析的基本情况,为你展现数据分析的全貌。让你清楚知道自己该如何在数据分析地图上行走n  会为你介绍数据分析的分析方法和模型。这部分是讲数据分析的道,只有学会底层逻辑,能够在面对问题时有自己的想法,才能够下一步采取行动n  会为你介绍数据分析的数据处理和常用分析方法。这篇是讲数据分析的术,先有道,后而用术来实现你的想法,得出最终的结论。n  会为你介绍数据分析的应用。学到这里,你对数据分析已经有了初步的认识,并通过一些案例为你展现真实的应用。[专享增值服务]1:一对一答疑         关于课程问题可以通过微信直接询问老师,获得老师的一对一答疑2:转行问题解答         在转行的过程中的相关问题都可以询问老师,可获得一对一咨询机会3:打包资料分享         15本数据分析相关的电子书,一次获得终身学习

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧