In een oracle database bestaat een tabel klant met daarin het klantnummer en de registratiedatum. Oorspronkelijk had ik een programma waarin de volgende query werd uitgevoerd
Vanwege diverse redenen moet de query nu aangepast worden. Allereerst worden verschillende bestanden uitgelezen om de gezochte klantnummers te achterhalen. Deze klantnummers worden in een string gezet. Bijvoorbeeld
strKlantnummer = "1,2,3,4, ... , 10000, 10001"
Vervolgens ga ik in de query de klanten achterhalen, van wie het klantnummer in de variabele strKlantnummer voorkomt.
Het uitvoeren van deze query duurt erg lang, soms wel 5 minuten.
Weet iemand hoe ik de query kan versnellen?
SQL:
1
2
| select * from klant where registratiedatum >= #7/6/2003# and registratiedatum <= #8/6/2003# |
Vanwege diverse redenen moet de query nu aangepast worden. Allereerst worden verschillende bestanden uitgelezen om de gezochte klantnummers te achterhalen. Deze klantnummers worden in een string gezet. Bijvoorbeeld
strKlantnummer = "1,2,3,4, ... , 10000, 10001"
Vervolgens ga ik in de query de klanten achterhalen, van wie het klantnummer in de variabele strKlantnummer voorkomt.
SQL:
1
2
| SELECT * FROM Klant WHERE Klantnummer IN (" & strKlantnummer & ")" |
Het uitvoeren van deze query duurt erg lang, soms wel 5 minuten.
[ Voor 4% gewijzigd door TweakersOnly op 06-08-2003 12:59 ]