Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

今天优化了一个上年同期的查询,快了不少,分享一下

时 间:2016-11-19 15:21:38
作 者:善解人衣   ID:29924  城市:文山
摘 要:我用平台开发了公司里面自己用的生产管理系统,好几个说有一个模块数据显示慢,其实就是上年同期原矿和上年同期金属两列生成的时候慢了。我今天改进了一下,由原来的DLOOKUP函数改为子查询,速度快了不少,在这里分享一下,猿友们自己体会
正 文:

我用平台开发了公司里面自己用的生产管理系统,好几个说有一个模块数据显示慢,其实就是查询生成上年同期原矿和上年同期金属两列的时候慢了。我今天改进了一下,由原来的DLOOKUP函数改为子查询,速度快了不少,在这里分享一下,猿友们自己体会:

原查询:

Select TMP_tbl原矿产量.日期, TMP_tbl原矿产量.日产量, TMP_tbl原矿产量.日品位, TMP_tbl原矿产量.日金属, TMP_tbl原矿产量.月产量, TMP_tbl原矿产量.月品位, TMP_tbl原矿产量.月金属, TMP_tbl原矿产量.年产量, TMP_tbl原矿产量.年金属, DLookUp("年产量","TMP_tbl原矿产量","日期=" & SQLDate(DateAdd("yyyy",-1,TMP_tbl原矿产量.日期))) AS 上年同期原矿, DLookUp("年金属","TMP_tbl原矿产量","日期=" & SQLDate(DateAdd("yyyy",-1,TMP_tbl原矿产量.日期))) AS 上年同期金属 FROM TMP_tbl原矿产量 Where TMP_tbl原矿产量.日期>=FirstDayOfYear(Date()) orDER BY TMP_tbl原矿产量.日期 DESC;


改进后的查询:

Select a.日期, a.日产量, a.日品位, a.日金属, a.月产量, a.月品位, a.月金属, a.年产量, a.年金属, (Select b.年产量 FROM TMP_tbl原矿产量 as b Where b.日期=dateadd("yyyy",-1,a.日期)) AS 上年同期原矿, (Select b.年金属 FROM TMP_tbl原矿产量 as b Where b.日期=dateadd("yyyy",-1,a.日期)) AS 上年同期金属 FROM TMP_tbl原矿产量 AS a Where a.日期>=FirstDayOfYear(Date()) orDER BY a.日期 DESC;




Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助