Rechercher dans le manuel MySQL
14.5 INFORMATION_SCHEMA and Data Dictionary Integration
With the introduction of the data dictionary, the following
INFORMATION_SCHEMA
tables are
implemented as views on data dictionary tables:
KEYWORDS
Queries on those tables are now more efficient because they obtain
information from data dictionary tables rather than by other,
slower means. In particular, for each
INFORMATION_SCHEMA
table that is a view on data
dictionary tables:
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-viewINFORMATION_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”.
Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-data-dictionary-information-schema.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.