- Prueba con SELECT COUNT(*) FROM tabla
Fecha: 22/04/2008 11:35:17 am
Test con count(*) - registros = 44069
Tiempo 0.00441598892212 segundos - Prueba mysql_num_rows
Fecha: 22/04/2008 11:35:21 am
Test con mysql_affected_rows - registros = 44069
Tiempo 59.3658621311 segundos
1.
2. require('../benchmark.php');
3. $caso = 'mysql';
4. $file = '../var/bench_databasecount.txt';
5. try{
6. Benchmark::startBenchmark($file);
7. $conn = mysql_connect('localhost', 'root', 'pannet1');
8. mysql_select_db('test', $conn);
9. switch($caso){
10. case 'count':
11. $sql = "SELECT COUNT(*) as contador FROM tabla";
12. $rs = mysql_query($sql, $conn);
13. $count = mysql_fetch_array($rs);
14. Benchmark::pushLog('Test con count - registros = '.$count['contador']."\n", $file);
15. break;
16. case 'mysql':
17. $sql = "SELECT * FROM tabla";
18. $rs = mysql_query($sql, $conn);
19. $count = mysql_num_rows($rs);
20. Benchmark::pushLog('Test con mysql_affected_rows - registros = '.$count ."\n", $file);
21. break;
22.
23. }
24. Benchmark::endBenchmark($file);
25. echo 'Termino';
26. }catch(Exception $e){
27. echo $e->getMessage();
28. }
29. ?>
30.
31.
Conclusión
A las personas que todavía realizan las paginaciones con mysql_num_rows, preferiblemente usen sql (función COUNT(*)).
Saludos ...
No hay comentarios:
Publicar un comentario