2010-09-08 82 views
0

我有一个访问约180k记录的表。我有一堆我测试过的sql语句,可以在我的数据的较小版本上完美工作。有了访问&那么多的记录,事情是非常缓慢的,但是一个带有Dconcat函数的sql语句,我甚至让它在一夜之间运行,甚至没有接近1/4的方式。访问性能,mysql嵌套函数

我认为Jet引擎不会为所有这些记录剪切它,我将我的数据传输到MySQL并添加了主键。在访问中,我通过ODBC将表“连接”到mysql,并且仍然给出了永久使用的迹象。

我想我最好的选择是使用本机mysql函数并在mysql中执行我的sql。我的访问函数连接并提取总额那是媒体链接有(Tqty),给这个样的结果:

姓名,班级,Tqty,数量
乔,A,20,10
乔,A,20 9

乔,A,20,1种

乔,b,30,30

名,classWTqty
乔,一个(20)b(30)

(注:在访问我做了列Tqty因为我遇到了麻烦,在我原来的dconcat接入功能相加数量)

我发现那里有MySQL中的CONCAT & GROUP_CONCAT函数,它可能做的伎俩,否则我想我必须做一个用户定义的函数,除非有一种方法可以嵌套,我不知道这些方法。你有什么建议?

回答

0

我不确定为什么你需要Dconcat,你应该能够做你想要的直接查询。

+0

我想象你的意思是MySQL查询。所以我想象你的说法,你也可以嵌套Concat&group_concat?怎么样? – Mike 2010-09-08 18:52:45

+0

不,我的意思是访问查询。查询180K记录不应该在Access中花费那么长时间。 DConcat功能可能会导致您的性能下降。请尝试在Access中使用聚合查询。 – Beth 2010-09-08 18:56:43