Serialized Dictionary Information (SDI) •The server no longer must create a temporary table for each query of the  INFORMATION_SCHEMA  table. •When the underlying data dictionary tables store values previously obtained by directory scans (for example, to enumerate database names or table names within databases) or file-opening operations (for example, to read information from  .frm  files),  INFORMATION_SCHEMA  queries for those values now use table lookups instead. (Additionally, even for a non-view  INFORMATION_SCHEMA  table, values such as database and table names are retrieved by lookups from the data dictionary and do not require directory or file scans.) •Indexes on the underlying data dictionary tables permit the optimizer to construct efficient query execution plans, something not true for the previous implementation that processed the INFORMATION_SCHEMA  table using a temporary table per query. The preceding improvements also apply to  SHOW  statements that display information corresponding to the INFORMATION_SCHEMA  tables that are views on data dictionary tables. For example,  SHOW DATABASES displays the same information as the  SCHEMATA  table. In addition to the introduction of views on data dictionary tables, table statistics contained in the STATISTICS  and  TABLES  tables is now cached to improve  INFORMATION_SCHEMA  query performance. The  information_schema_stats_expiry  system variable defines the period of time before cached table statistics expire. The default is 86400 seconds (24 hours). If there are no cached statistics or statistics have expired, statistics are retrieved from storage engine when querying table statistics columns. To update cached values at any time for a given table, use  ANALYZE TABLE information_schema_stats_expiry  can be set to  0  to have  INFORMATION_SCHEMA  queries retrieve the latest statistics directly from the storage engine, which is not as fast as retrieving cached statistics. For more information, see Section 8.2.3, “Optimizing INFORMATION_SCHEMA Queries” . INFORMATION_SCHEMA  tables in MySQL 8.0 are closely tied to the data dictionary, resulting in several usage differences. See Section 14.7, “Data Dictionary Usage Differences” . In addition to storing metadata about database objects in the data dictionary, MySQL stores it in serialized form. This data is referred to as serialized dictionary information (SDI).  InnoDB  stores SDI data within its tablespace files.  NDBCLUSTER  stores SDI data in the NDB dictionary. Other storage engines store SDI data in  .sdi  files that are created for a given table in the table’s database directory. SDI data is generated in a compact  JSON  format. Serialized dictionary information (SDI) is present in all  InnoDB  tablespace files except for temporary tablespace and undo tablespace files. SDI records in an  InnoDB  tablespace file only describe table and tablespace objects contained within the tablespace. SDI data is updated by DDL operations on a table or  CHECK TABLE FOR UPGRADE . SDI data is not updated when the MySQL server is upgraded to a new release or version. The presence of SDI data provides metadata redundancy. For example, if the data dictionary becomes unavailable, object metadata can be extracted directly from  InnoDB  tablespace files using the  ibd2sdi tool. For  InnoDB , an SDI record requires a single index page, which is 16KB in size by default. However, SDI data is compressed to reduce the storage footprint. For partitioned  InnoDB  tables comprised of multiple tablespaces, SDI data is stored in the tablespace file of the first partition. 2994 14.6 Serialized Dictionary Information (SDI)