information_schema
Information Schema, INFORMATION_SCHEMA
information_schema è lo schema virtuale standard SQL che MySQL e MariaDB espongono come interfaccia di introspezione: non contiene dati applicativi, ma metadati sullo stato del server (database presenti, tabelle, colonne, indici, utenti, privilegi, parametri di sessione).
Come funziona #
Le tabelle di information_schema sono viste sui cataloghi interni del database. Le più usate sono:
TABLES— una riga per tabella, con dimensioni, tipo engine, numero di righe stimatoCOLUMNS— una riga per colonna, con tipo dato, nullability, collationSTATISTICS— una riga per indice e per colonna inclusa, con cardinalità stimataSCHEMATA— una riga per databasePROCESSLIST— sessioni attive (equivalente aSHOW PROCESSLIST)INNODB_*— metriche e stato dell’engine InnoDB
A cosa serve #
È il punto di partenza di qualsiasi assessment: sizing del database, identificazione delle tabelle più grandi, audit degli indici, analisi dei tipi di dato, controllo delle collation miste. Molti script di monitoraggio e tool BI leggono information_schema per costruire cruscotti di stato.
Limitazioni da conoscere #
I valori di data_length, index_length e table_rows sono stime aggiornate periodicamente da InnoDB e dipendono dall’ultima ANALYZE TABLE. Su tabelle molto volatili possono sottostimare del 10-15%. Per i dati critici (piano di migrazione, piano capacità) è buona prassi incrociare con la dimensione fisica dei file .ibd (du -sh /var/lib/mysql/<schema>/*.ibd).