标题: Access数据库查询十万条数据速度奇慢给出代码求解答 [打印本页] 作者: joelongma 时间: 2016-8-4 21:31 标题: Access数据库查询十万条数据速度奇慢给出代码求解答 第一个问题:数据库数据运算过慢
本人在公司做数据库查询,用access管理基础数据资料,货物发送情况,每个月基本一万条记录,几年的数据基本上就要几十万条,用前后台数据库分的方式,main数据库链接data数据库的基础数据表。主要针对2016年数据进行查询,基本数据条数5万条,每条记录大约有十几个字段。
具体查询代码如下
SELECT *
FROM [2016-测试表] AS a
WHERE ID in (select top 2 ID from [2016-测试表] where ProCate=a.ProCate order by AmountMUSD desc )
ORDER BY a.ProCate, a.AmountMUSD DESC;
第一次查询速度30多秒,此后再查询需要20多秒,请问如何改进或者优化,是用分页,还是需要设计窗体进行改进
rst1.Open "select distinct ProCate from [2016-测试表]", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Do Until rst1.EOF
rst2.Open "select top2 from [2016-测试表] where ProCate='" & rst1(0) & "' order by AmountMUSD desc", CurrentProject.Connection, adOpenKeyset, adLockOptimistic