Paginate function
Ik zou voor Erwin H's idee gaan in zijn eerste post
Jelle, dat doe ik inmiddels al. Heb alleen nog een vraag over het aantal records.
Like this
Zelf ben ik daar niet zo'n voorstander voor aangezien het traag is
Je kan beter een total query uitvoeren en de gewone query
Code (php)
1
2
3
4
2
3
4
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10;
// Next query
SELECT FOUND_ROWS();
// Next query
SELECT FOUND_ROWS();
Zelf ben ik daar niet zo'n voorstander voor aangezien het traag is
Je kan beter een total query uitvoeren en de gewone query
Gewijzigd op 11/01/2012 14:38:34 door Jelle -
Als volgt:
Met in plaats van * natuurlijk al jouw kolommen.
Na het runnen van deze query moet je nog een extra query doen om de gevonden rijen op te halen:
Met in plaats van * natuurlijk al jouw kolommen.
Na het runnen van deze query moet je nog een extra query doen om de gevonden rijen op te halen:
Achzo, en dat is dus sneller als een extra query met COUNT(veld)?
COUNT() kan heel goed met indexes omgaan en als je het resultaat cached (SQL_CACHE, heel handig gezien je verwacht dat de gebruiker meerdere pagina's bekijkt en het result set heel klein is) is het rete snel
Het zijn meer als 1000 rows, wat gebruik ik dan best?
test het zou ik zeggen. Als ik de literatuur er op na sla (internet) zie ik ten eerste twee meningen over snelheid en ten tweede dat het pas echt een probleem wordt bij meer dan 100.000 records....
1000 records is peanuts
Paas je query eens
Paas je query eens
Deze query is voor de rapporten op te halen van alle users dus niet per user.
En per user wordt het dus WHERE c.userid = 'x'
Index op userid en je hebt nergens last van
Index op userid en je hebt nergens last van
Ja maar in deze query heb ik de user niet nodig, dat is alleen als ik per user bezig ben. ;)
PHP Jasper op 11/01/2012 15:05:38:
Ja maar in deze query heb ik de user niet nodig, dat is alleen als ik per user bezig ben. ;)
Yes je moet alleen op g.id een index hebben maar daar zal de primary key wel op zitten dus zit je goed
Ja dat klopt. Dus gewoon Count gebruiken?




