Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

¿Cual es la sentencia mas rapida para saber cuantos registros existen en una Tabla?

Estas en el tema de ¿Cual es la sentencia mas rapida para saber cuantos registros existen en una Tabla? en el foro de Bases de Datos General en Foros del Web. Hola que tal, Espero que me puedan ayudar, ¿Cual es la sentencia mas rapida para saber cuantos registros existen en una tabla en Mysql? Lo ...
  #1 (permalink)  
Antiguo 01/09/2004, 17:44
 
Fecha de Ingreso: noviembre-2003
Mensajes: 89
Antigüedad: 20 años, 6 meses
Puntos: 0
¿Cual es la sentencia mas rapida para saber cuantos registros existen en una Tabla?

Hola que tal,

Espero que me puedan ayudar,

¿Cual es la sentencia mas rapida para saber cuantos registros existen en una tabla en Mysql?

Lo que sucede es que tengo que mostrar el numero total de registros de varias tablas,
Lo que hago es calcular cuantos registros existen en cada tabla por separado y despues sumarlos, pero la consulta tarda mucho, en local casi toma 2 segundos o mas y es que tiene pocos datos ni 100, y quisiera saber si existe alguna sentencia o funcion de mysql o php que la ejecute mas rapido, tal vez agrupando las tablas o de otra manera,
Utilizo el sgte codigo:

Código PHP:
mysql_connect("$host","$usuario","$password");
$result=mysql_db_query("$baseDeDatos","select registro from empleados");
$numEmpleados=mysql_num_rows($result);
$result=mysql_db_query("$baseDeDatos","select registro from clientes");
$numClientes=mysql_num_rows($result);
$numTotalRegistros=$numEmpleados+$numClientes
Es un ejemplo pequeño, De otras tengo que sacar el total de registros de 6 Tablas o más, y me parece que tarda mucho, como se puede arreglar la consulta para que sea mas rapida, solo necesito saber el total de registros de las tablas.

Gracias por adelantado

Saludos,
  #2 (permalink)  
Antiguo 01/09/2004, 20:09
 
Fecha de Ingreso: agosto-2003
Mensajes: 448
Antigüedad: 20 años, 8 meses
Puntos: 1
select coun(id) from tabla, siendo id el campo de primary key o algún otro campo con indice y not null
  #3 (permalink)  
Antiguo 01/09/2004, 23:35
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Hola heyman
puedes escrbir tu consulta SQL de esta manera
SELECT count(*) FROM empleados
SELECT count(*) FROM clientes

Si usas mysql la version 4.0 o superior inclusive pudes usar la funcion UNION y lo pones todo en una sola consulta
Saludos
  #4 (permalink)  
Antiguo 02/09/2004, 10:59
 
Fecha de Ingreso: noviembre-2003
Mensajes: 89
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola que tal,

Muchas gracias por la ayuda, pense que esto seria facil, pero me equivoque, despues de intentar varias cosas y de buscar llegue a lo sgte:

Código PHP:
$result=mysql_db_query("$baseDeDatos","select COUNT(*) from clientes");
$numClientes=mysql_fetch_row($result);
$result=mysql_db_query("$baseDeDatos","select COUNT(*) from empleados");
$numEmpleados=mysql_fetch_row($result);
$numTotal=$numClientes[0]+$numEmpleados[0]; 
Consideran ustedes que esta es la sentencia mas rapida?, Si existe otra mejor la tomare en cuenta.
Intente con UNION pero no me funciono la sintaxis, presiento que con UNION es mas rapida, pues la evaluaria las tablas al mismo tiempo,
Tal vez me podrian dar un pequeño ejemplo,

Gracias de nuevo,

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:00.