Estoy generando un informe en php (mysql),
ex:
`select count(id) as tot_user from user_table
select count(id) as tot_cat from cat_table
select count(id) as tot_course from course_table`
Así tengo 12 mesas.
¿Puedo hacerlo en una sola consulta? ¿Si lo hice? ¿El proceso se vuelve lento?
Respuestas:
fuente
Si usa tablas MyISAM, la forma más rápida es consultar directamente las estadísticas:
Si tiene InnoDB, debe consultar con count () ya que el valor informado en information_schema.tables es incorrecto.
fuente
Ciertamente, puede usar una declaración de agregación de selección según lo postulado por Ben James, sin embargo, esto dará como resultado una vista con tantas columnas como tablas. Un método alternativo puede ser el siguiente:
Lo bueno de un enfoque como este es que puede escribir explícitamente las declaraciones de Union y generar una vista o crear una tabla temporal para contener valores que se agregan consecutivamente desde un Proc cals usando variables en lugar de los nombres de sus tablas. Tiendo a ir más con este último, pero realmente depende de las preferencias personales y la aplicación. Si está seguro de que las tablas nunca cambiarán, desea los datos en un formato de una sola fila y no agregará tablas. quédate con la solución de Ben James. De lo contrario, recomendaría flexibilidad, siempre puede piratear una estructura de tabulación cruzada.
fuente
fuente
fuente
Sé que esta es una pila antigua, pero publicaré este caso de selección Multi-SQL
fuente