Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/07/2010, 18:49
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 11 meses
Puntos: 2534
Respuesta: Contador Usuarios registrados

Cita:
Iniciado por karenlorenadg Ver Mensaje
ylellan Gracias Chica tu si supiste explicarte ya lo hice, pueden verlo aquí http://redsocial.digitalelectronicss.../registrar.php
ahora, la explicación:

un SELECT * FROM tabla es lo peor que puedes hacer para obtener el numero de filas en una tabla... y disculpen la expresión, pero sin afán de hacer menos toda aportación: es la verdad...

¿porque?

es muy simple, hacer una selección de todas las columnas (eso significa el *) es nada óptima si lo único que queremos es el total de registros, creo que eso es sencillo de entender... (:

imaginemos que tienes una tabla con mas de 10 campos (las he visto, de lo peor... ) y que además contiene la cantidad de 3,000,000 de registros....

algo así como en @forosdelweb, imaginando el numero de temas hasta la fecha... y, ¿pero que sucede cuando hacemos un SELECT *?

no quiero ni pensarlo, ningún foro basado en vBulletin hubiera sobrevivido a tal catastrofe... ¿entonces, como lo hacen?

simple:
Cita:
Iniciado por pateketrueke Ver Mensaje
SELECT COUNT(*) AS total FROM tabla
así es.... porque COUNT(*) no selecciona todos los campos, tan solo hace la cuenta de todas las filas... bingo!!

¿porque usar mysql_num_rows() no sirve?

funciona, eso es cierto... pero no es lo ideal, porque una simple consulta COUNT arroja un solo resultado con el total de filas... ¿justo lo que queriamos o no?

en cambio, si seleccionamos todas las columnas, sin usar COUNT.... mysql_num_rows() devolvería el mismo total de filas!!!

pero que barbaridad... a simple vista todo parecía correcto hasta aquí, pero se hizo presente la verdad tras la verdad... sin darse cuenta, la consulta siempre cargaba en memoría los resultados... si, todos.... ¿pero eso no importa cierto?

haz la prueba, escribe ambas consultas en phpMyAdmin y analiza los resultados...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 28/07/2010 a las 18:57 Razón: >.<