ich eine ziemlich langsame Abfrage haben:MS Access - Geschwindigkeit Ausgabe
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;
ich diese Herrenset concatrelated Abfrage verwendet:
http://allenbrowne.com/func-concat.html
Das funktioniert perfekt - aber es ist sehr langsam. Wie ein Rekord pro Sekunde. Ich versuche, dies auf 1,1 Millionen Aufzeichnungen zu machen, und ich brauche es wirklich irgendwann vor der nächsten Wahl. Irgendwelche Ideen?
Ich habe bereits die Datenbank komprimiert und repariert.
Danke!
Denormalisierungsdaten haben ihre Nachteile. Sind Ihre Daten auf dem lokalen Computer oder greifen Sie über das Netzwerk auf den Server zu?Es könnte ein wenig schneller auf lokale Daten sein, aber ich bezweifle, dass es genug sein wird. – June7
ConcatRelated sieht wie eine UDF (benutzerdefinierte Funktion) aus, die die Hauptursache für Geschwindigkeitsprobleme ist. UDFs sind sehr flexible Möglichkeiten, um Daten zu transformieren, aber sie in einer Abfrage mit Hunderttausenden oder Millionen von Zeilen zu verwenden, wird immer langsam sein. – Sorcefyre
Haben die Felder [ticketnumber] und [stateactual] Indizes in der Tabelle [IntTable]? –