Todo sobre INFORMATION_SCHEMA | Las tablas de las tablas de bases de datos. Perfectas para analizar los datos de los datos de las bases de datos.
Algunas consultas utiles usando Information_Schema
* Mostrar si hay tablas sin PK (clave primaria)
SELECT t.TABLE_SCHEMA,t.TABLE_NAME,ENGINE
FROM information_schema.TABLES t
INNER JOIN information_schema.COLUMNS c
ON t.TABLE_SCHEMA=c.TABLE_SCHEMA
AND t.TABLE_NAME=c.TABLE_NAME
AND t.TABLE_SCHEMA NOT IN ('performance_schema','information_schema','mysql')
GROUP BY t.TABLE_SCHEMA,t.TABLE_NAME
HAVING sum(if(column_key in ('PRI','UNI'), 1,0))=0;
* Mostrar numero de conexiones por cada usuario
SELECT USER, COUNT(*) FROM information_schema.processlist GROUP BY USER;
* Mostrar numero de conexiones por cada host
SELECT HOST, COUNT(*) FROM information_schema.processlist GROUP BY HOST;
* Mostrar la actividad del usuario root
SELECT * FROM information_schema.processlist WHERE USER = ‘root’;
* Mostrar procesos asociados con consultas SELECT o UPDATE
SELECT * FROM information_schema.processlist WHERE INFO LIKE ‘SELECT%’;
SELECT * FROM information_schema.processlist WHERE INFO LIKE ‘UPDATE%’;
* Mostrar tiempo medio de consulta para cada base de datos
SELECT DB, AVG(TIME) FROM information_schema.processlist GROUP BY DB;