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;