Cómo enumerar todas las tablas en la base de datos actual, junto con el número de filas de la tabla.
En otras palabras, ¿se te ocurre una consulta para hacer algo así en mysql?
+------------------------++------------------------+
| Tables_in_database | Number of rows |
+------------------------++------------------------+
| database 1 | 1000 |
| database 2 | 1500 |
+------------------------++------------------------+
Diferentes enfoques son bienvenidos.
Respuestas:
Tengo un enfoque muy agresivo utilizando fuerza bruta SQL dinámico
Ejemplo: en mi base de datos de prueba, obtengo esto
DARLE UNA OPORTUNIDAD !!!
PRUEBA: Si todas las tablas son MyISAM, esto sucederá muy rápido. Si todas las tablas son InnoDB, se contará cada tabla. Esto puede ser brutal e implacable para tablas InnoDB muy grandes.
fuente
FROM information_schema.tables
porFROM show tables
. ¿Puedes explicar por qué eso no funciona?SELECT DISTINCT table_schema FROM information_schema.tables
pero no pude encontrar la forma de ajustar su consulta para ejecutar esos resultados. Si alguna vez descubroSELECT @CountSQL\G
Pruebe a continuación la consulta sin consulta dinámica
fuente
Quizás esta consulta pueda ser de ayuda. Muestra el tamaño de los datos y la cantidad de registros.
fuente
Obtenga recuentos de filas exactos para todas las tablas en MySQL utilizando el script de shell.
establecer parámetro en el archivo parameter.config como
La secuencia de comandos para contar es:
guarda esto en el archivo "mysqlrowscount.sh", ejecuta este script usando el comando:
fuente