information_schema
Information Schema, INFORMATION_SCHEMA
information_schema este schema virtuală standard SQL pe care MySQL și MariaDB o expun ca interfață de introspecție: nu conține date aplicative, ci metadate despre starea serverului (baze de date prezente, tabele, coloane, indecși, utilizatori, privilegii, parametri de sesiune).
Cum funcționează #
Tabelele din information_schema sunt viste peste cataloagele interne ale bazei de date. Cele mai folosite sunt:
TABLES— un rând per tabelă, cu dimensiune, tip engine, număr de rânduri estimatCOLUMNS— un rând per coloană, cu tip de date, nullability, collationSTATISTICS— un rând per index și per coloană inclusă, cu cardinalitate estimatăSCHEMATA— un rând per bază de datePROCESSLIST— sesiuni active (echivalent cuSHOW PROCESSLIST)INNODB_*— metrici și stare pentru engine-ul InnoDB
La ce servește #
Este punctul de plecare al oricărui assessment: sizing-ul bazei de date, identificarea celor mai mari tabele, audit al indecșilor, analiza tipurilor de date, controlul collation-urilor mixte. Multe script-uri de monitorizare și instrumente BI citesc information_schema pentru a construi dashboard-uri de stare.
Limitări de cunoscut #
Valorile data_length, index_length și table_rows sunt estimări actualizate periodic de InnoDB și dependente de ultima ANALYZE TABLE. Pe tabele foarte volatile pot subestima cu 10-15%. Pentru date critice (plan de migrare, plan de capacitate) este bună practică să verificăm cu dimensiunea fizică a fișierelor .ibd (du -sh /var/lib/mysql/<schema>/*.ibd).