ik heb een 25-tal vakken en wil van elke categorie de laatste 3 geplaatste berichten hebben.
daarvoor heb ik de volgende query:
het probleem is dat deze query bij zo'n 2000 records er 10 seconden over doet en dat is natuurlijk wel wat lang. is er een betere (snellere) manier om de gewenste gegevens te krijgen?
daarvoor heb ik de volgende query:
code:
1
2
3
4
5
6
7
8
9
| SELECT vak.vak_id, vak.vak_naam, adv.adv_titel, advertentie_id FROM tbl_advertentie adv
INNER JOIN tbl_vak vak ON adv.vak_id = vak.vak_id
WHERE adv.gebruiker_id NOT IN (1,2,3,4) ' lijst geblokkeerde gebruikers
AND (adv.advertentie_id IN
(SELECT TOP 3 advertentie_ID FROM tbl_advertentie
WHERE vak_id = adv.vak_id
AND gebruiker_id NOT IN (1,2,3,4) ' lijst geblokkeerde gebruikers
ORDER BY advertentie_datum DESC))
ORDER BY vak_naam |
het probleem is dat deze query bij zo'n 2000 records er 10 seconden over doet en dat is natuurlijk wel wat lang. is er een betere (snellere) manier om de gewenste gegevens te krijgen?
Werken is gezond, laat het daarom over aan de zieken!