Sinds een aantal weken zijn we overgeschakeld van access 2000 naar 2007. Dit gaf geen problemen, behalve voor één query die heel traag geworden is.
Het schema van de query ziet er als volgt uit (met tussen haakjes het aantal records per tabel):
Na een tiental minuten is de query eindelijk uitgevoerd met een resultaat van ongeveer 6300 records.
De database staat lokaal, dus er treedt geen vertraging op door een eventueel traag netwerk.
Opslaan als accdb ipv mdb maakt geen verschil in snelheid, evenals het toevoegen van indexen op de "Vendor"-velden.
Heeft er iemand een idee om de query terug sneller te maken ?
Het schema van de query ziet er als volgt uit (met tussen haakjes het aantal records per tabel):
tbl_Main.Vendor ------> tbl_A.Vendor (240000)
(24000) ------> tbl_B.Vendor (35000)
------> tbl_C.Vendor (37000)SQL:
1
2
3
| SELECT tbl_Main.Vendor FROM ((tbl_Main LEFT JOIN tbl_A ON tbl_Main.Vendor = tbl_A.Vendor) LEFT JOIN tbl_B ON tbl_Main.Vendor = tbl_B.Vendor) LEFT JOIN tbl_C ON tbl_Main.Vendor = tbl_C.Vendor WHERE tbl_Main.Vendor Is Not Null AND tbl_A.Vendor Is Null AND tbl_B.Vendor Is Null AND tbl_C.Vendor Is Null; |
Na een tiental minuten is de query eindelijk uitgevoerd met een resultaat van ongeveer 6300 records.
De database staat lokaal, dus er treedt geen vertraging op door een eventueel traag netwerk.
Opslaan als accdb ipv mdb maakt geen verschil in snelheid, evenals het toevoegen van indexen op de "Vendor"-velden.
Heeft er iemand een idee om de query terug sneller te maken ?