[pdo] Rowcount, count(*) of SQL_CALC_FOUND_ROWS
Arjan -
04/10/2010 17:40:03Hey,
Op dit moment ben ik mij aan het oriënteren om de performance van mijn website te verbeteren. Nu kwam ik enkele tegenstrijdige verhalen tegen omtrent het retourneren van het aantal gevonden records.
Op http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/ staat dat SQL_CALC_FOUND_ROWS erg traag is bij veel records ten opzichte van de COUNT(*) variant.
Nu gebruik ik PDO om te verbinden met de database en deze bevat een standaard functie, genaamd rowCount(), om de rijen te retourneren. Het schijnt zo te zijn dat rowCount() niet volledig wordt ondersteund in mysql, echter heb ik daar tot op heden niets van gemerkt (momenteel gebruik ik deze functie).
Het voordeel van een SQL_CALC_FOUND_ROWS is dat je maar 1 query hoeft uit te voeren (met een LIMIT) om het totaal aantal records te kunnen achterhalen. Echter schijnt dit dus gigantisch traag te zijn.
Nu is mijn vraag wat jullie gebruiken om het aantal records te retourneren en jullie de bevindingen van bovenstaande website kunnen bevestigen.
Op dit moment ben ik mij aan het oriënteren om de performance van mijn website te verbeteren. Nu kwam ik enkele tegenstrijdige verhalen tegen omtrent het retourneren van het aantal gevonden records.
Op http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/ staat dat SQL_CALC_FOUND_ROWS erg traag is bij veel records ten opzichte van de COUNT(*) variant.
Nu gebruik ik PDO om te verbinden met de database en deze bevat een standaard functie, genaamd rowCount(), om de rijen te retourneren. Het schijnt zo te zijn dat rowCount() niet volledig wordt ondersteund in mysql, echter heb ik daar tot op heden niets van gemerkt (momenteel gebruik ik deze functie).
Het voordeel van een SQL_CALC_FOUND_ROWS is dat je maar 1 query hoeft uit te voeren (met een LIMIT) om het totaal aantal records te kunnen achterhalen. Echter schijnt dit dus gigantisch traag te zijn.
Nu is mijn vraag wat jullie gebruiken om het aantal records te retourneren en jullie de bevindingen van bovenstaande website kunnen bevestigen.
Gewijzigd op 04/10/2010 17:42:32 door Arjan -
PHP hulp
27/11/2024 06:06:54Justin S
04/10/2010 18:44:47Dus als SQL_CALC_FOUND_ROWS te langzaam is, waarom gebruik je dan niet de COUNT(*) variant? Deze werkt ook gewoon met een PDO-query.