我有一个相当缓慢的查询:的MS Access - 速度问题
SELECT ticketnumber, stateactual, adj,
ConcatRelated("utilityname","IntTable","ticketnumber = """ & ticketnumber & """" & " AND " & "stateactual = """ & stateactual & """") AS utilities,
ConcatRelated("startupcustomer","IntTable","ticketnumber = """ & ticketnumber & """" & " AND " & "stateactual = """ & stateactual & """") as startdates
INTO tixconcat
FROM IntTable
WHERE stateactual = "MT"
GROUP BY ticketnumber, stateactual, adj;
我用这个绅士的concatrelated查询:
http://allenbrowne.com/func-concat.html
这完美的作品 - 但它真的很慢。就像,每秒一个记录。我试图在110万条记录上运行这个记录,我真的需要在下次选举之前完成。有任何想法吗?
我已经压缩并修复了数据库。
谢谢!
反规格化数据确实有其缺点。您的数据是在本地计算机上还是通过网络访问服务器?本地数据可能会稍微快一点,但我怀疑这足够了。 – June7
ConcatRelated看起来像一个UDF(用户定义的函数),它是速度问题的主要原因。 UDF是转换数据的非常灵活的方式,但在具有数十万或数百万行的查询中使用它们总是会很慢。 – Sorcefyre
在[IntTable]表中[ticketnumber]和[stateactual]字段是否有索引? –