访问性能,mysql嵌套函数

访问性能,mysql嵌套函数,mysql,function,ms-access,vba,Mysql,Function,Ms Access,Vba,我在access中有一个大约有180k条记录的表。我有一堆sql语句,经过测试,可以在更小的数据版本上完美地工作。有了access&这么多的记录,事情就变得相当慢了,但是我甚至让它在一夜之间运行的带有Dconcat函数的sql语句都没有接近1/4的速度通过 我假设Jet引擎不会对所有这些记录进行剪切,我将数据传输到mysql并添加了一个主键。在access中,我通过ODBC将该表“链接”到mysql,但仍然显示出需要花费很长时间的迹象 我想我的最佳选择是使用本机mysql函数并在mysql中执行

我在access中有一个大约有180k条记录的表。我有一堆sql语句,经过测试,可以在更小的数据版本上完美地工作。有了access&这么多的记录,事情就变得相当慢了,但是我甚至让它在一夜之间运行的带有Dconcat函数的sql语句都没有接近1/4的速度通过

我假设Jet引擎不会对所有这些记录进行剪切,我将数据传输到mysql并添加了一个主键。在access中,我通过ODBC将该表“链接”到mysql,但仍然显示出需要花费很长时间的迹象

我想我的最佳选择是使用本机mysql函数并在mysql中执行sql。My access函数连接并提取allready there(Tqty)的总和,以给出此类结果:

名称、类别、质量、数量
乔,A,20,10
乔,A,20,9

乔,A,20,1

乔,B,30,30

名称、类别和数量
乔,a(20)b(30)

(注意:在access中,我创建了Tqty列,因为我在原始dconcat access函数中对数量求和时遇到问题)


我发现mysql中有一个concat&group\u concat函数可以实现这个功能,否则我想我将不得不执行一个用户定义的函数,除非有一种嵌套的方法,我对此一无所知。你有什么建议?

我不知道你为什么需要Dconcat,你应该可以通过直接查询来做你想做的事情。

我想你是指mysql查询。所以我想你说你也可以嵌套Concat&group_Concat?怎么做?不,我是说访问查询。查询180K条记录不需要那么长的访问时间。DConcat函数可能会影响您的性能。请尝试在Access中使用聚合查询。