No non è affatto normale.
Dovrewsti realizzare in SQL_Server una SP, oppure eseguire la Query in modalità PassTrought per verificarne l'efficienza.
Tuttavia non so come sia creata la Query di cui parli, purtoppo spesso si confonde il Server con il Client e si realizzano Query disfunzionali... es:
SELECT * FROM dbo.NomeTabella WHERE ID=Forms!NomeForm!NomeControllo
Questa Query sebbene tu abbia dietro SQL_Server viene elaborata da JET in locale, e di questi errori purtroppo spesso se ne commettono per inesperienza.
Non so se possa essere o meno il tuo caso... ma se denunci 15secondi è fuori da ogni ragionevole funzionalità con quel numero di Records.